diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2011-06-05 16:27:38 +0000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2011-06-05 16:27:38 +0000 |
commit | 9019a4858b0ad49ef7d1c54c9e29bf71c8fdb21e (patch) | |
tree | 9e7a8588d03dcfdcc5bb7a331ec0ac4fe7918540 /dev-lang/ghc | |
parent | Removed old. (diff) | |
download | historical-9019a4858b0ad49ef7d1c54c9e29bf71c8fdb21e.tar.gz historical-9019a4858b0ad49ef7d1c54c9e29bf71c8fdb21e.tar.bz2 historical-9019a4858b0ad49ef7d1c54c9e29bf71c8fdb21e.zip |
Remove old ghc versions. Many of them are very hard to impossible to build/use.
Package-Manager: portage-2.1.9.50/cvs/Linux x86_64
Diffstat (limited to 'dev-lang/ghc')
-rw-r--r-- | dev-lang/ghc/ChangeLog | 11 | ||||
-rw-r--r-- | dev-lang/ghc/Manifest | 65 | ||||
-rw-r--r-- | dev-lang/ghc/files/10ghc | 2 | ||||
-rw-r--r-- | dev-lang/ghc/files/depsort.py | 65 | ||||
-rw-r--r-- | dev-lang/ghc/files/ghc-6.10.2-readline.patch | 216 | ||||
-rw-r--r-- | dev-lang/ghc/files/ghc-6.4.2-sparc32plus.patch | 12 | ||||
-rw-r--r-- | dev-lang/ghc/files/ghc-6.4.2-sparcmangler.patch | 13 | ||||
-rw-r--r-- | dev-lang/ghc/files/ghc-6.5-norelax.patch | 15 | ||||
-rw-r--r-- | dev-lang/ghc/files/ghc-6.6-nothreadedrts.patch | 24 | ||||
-rwxr-xr-x | dev-lang/ghc/files/ghc-updater | 335 | ||||
-rw-r--r-- | dev-lang/ghc/ghc-6.2.2.ebuild | 319 | ||||
-rw-r--r-- | dev-lang/ghc/ghc-6.4.2.ebuild | 410 | ||||
-rw-r--r-- | dev-lang/ghc/ghc-6.6.1.ebuild | 370 | ||||
-rw-r--r-- | dev-lang/ghc/ghc-6.6.ebuild | 327 | ||||
-rw-r--r-- | dev-lang/ghc/ghc-6.8.2-r1.ebuild | 275 | ||||
-rw-r--r-- | dev-lang/ghc/ghc-6.8.2.ebuild | 282 |
16 files changed, 14 insertions, 2727 deletions
diff --git a/dev-lang/ghc/ChangeLog b/dev-lang/ghc/ChangeLog index 458e5b7ee165..746564ea3939 100644 --- a/dev-lang/ghc/ChangeLog +++ b/dev-lang/ghc/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for dev-lang/ghc # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.204 2011/04/25 17:55:08 slyfox Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.205 2011/06/05 16:27:38 slyfox Exp $ + + 05 Jun 2011; Sergei Trofimovich <slyfox@gentoo.org> -files/10ghc, + -ghc-6.2.2.ebuild, -ghc-6.4.2.ebuild, -files/ghc-6.4.2-sparc32plus.patch, + -files/ghc-6.4.2-sparcmangler.patch, -files/ghc-6.5-norelax.patch, + -ghc-6.6.ebuild, -ghc-6.6.1.ebuild, -files/ghc-6.6-nothreadedrts.patch, + -ghc-6.8.2.ebuild, -ghc-6.8.2-r1.ebuild, -files/ghc-6.10.2-readline.patch, + -files/depsort.py, -files/ghc-updater: + Remove old ghc versions. Many of them are very hard to impossible to + build/use. *ghc-6.12.3-r2 (25 Apr 2011) diff --git a/dev-lang/ghc/Manifest b/dev-lang/ghc/Manifest index f900b1fa74f6..44ed1f1a72f3 100644 --- a/dev-lang/ghc/Manifest +++ b/dev-lang/ghc/Manifest @@ -1,9 +1,6 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 -AUX 10ghc 40 RMD160 1c9e367fa4ea2fa2d3a046986b066b157964390a SHA1 33486a4907e8140f4d919813df4ef4e6203d6b20 SHA256 86c80e876343456b1a1407365bfc2a441bf4c6ca23d3549d67bd800abd617e2f -AUX depsort.py 1958 RMD160 4192ad9ed14064a9da42ce1faedcf28996094da3 SHA1 2c900abeb6cfcc4327f0e9418b5abd7761ce5879 SHA256 7406f639d17b8acab6a1db7e398e74379b44950d4821bc36901abd3455d63b3d -AUX ghc-6.10.2-readline.patch 8612 RMD160 cf3c1539a55225439c7f16c698e622c5f6f0cd47 SHA1 82318ea6285fc9dd3ed31a023e0a349a4950473c SHA256 9be6fe23aed177c6dd16fcea4eb9ba39406ee365cb923b33d084dec451005464 AUX ghc-6.10.4-autoconf.patch 2010 RMD160 c5154aca1828ff5bf5289da6167c2218ad6cb1ab SHA1 a100d0ba94516eacc7dcb5d99fd3b69a72f6e658 SHA256 125afd89af86b32bcf88dd97860993dc6f7ef9920a3f3dfb577897837fbcf4fe AUX ghc-6.10.4-disable-strip.patch 782 RMD160 b892e4133ff36e056e3f0e015388b1a5ffd61da4 SHA1 d83ca80f339f5de1772e2e70dbf2d6353257ba84 SHA256 3d61160acc28afed2c2fd0a37c460b57368d81d5a18c8fcd07867cfdc8a190a6 AUX ghc-6.10.4-ia64-fixed-relax.patch 1368 RMD160 83b75c2cb44c4b35d12206570c59830706314537 SHA1 9f6c81a9ca9657be580ffb232d4dc73ae1bfbe11 SHA256 f2862403cc89c3f7e83fcc569cf357597d70afd444194178eb2a299f16a938c3 @@ -28,31 +25,14 @@ AUX ghc-6.12.3-pic-powerpc.patch 965 RMD160 f7f96e147f92e590c47fa753e41532cbda47 AUX ghc-6.12.3-powerpc-darwin-no-mmap.patch 1482 RMD160 5a50cc2f6a61ec8c4abbc30cd0dbf46c50b87452 SHA1 ae70bee8460f40839e1e2ad9e0f637d5ea9d8d8d SHA256 2921717b946f030f27fc1edc0f3770f47c52465512add25906747c789bbc0934 AUX ghc-6.12.3-ppc-use-libffi-for-foreign-import-wrapper.patch 609 RMD160 a26c8a5c7fde2188639484d5cc622de669e5f427 SHA1 03615e6b6428dd693b57d16420f3853ce3d51f47 SHA256 537a96473cec66739534da7cc88bbde37d7f5f0ab158a9921e666985c18fc1b5 AUX ghc-6.12.3-ticket-2615-linker-script.patch 8956 RMD160 f843756077a767a9ec59f114676bd06102259302 SHA1 ce5e2b90fc8a99ae37d2ade07d75e611514bb389 SHA256 e670eafd89bcbf7842eedb16af6f538e11c9644c56af6eaa8a3f87b8d0c794aa -AUX ghc-6.4.2-sparc32plus.patch 526 RMD160 970d062362284659c2570394c8f9328d8096ea8e SHA1 40d25c25a3cd6a228f3757b8e298fd8c72710544 SHA256 a05bd16c9308ec9f608aeabe0ea35e2dff6826f262108d1ccb16c4f93a2d3a44 -AUX ghc-6.4.2-sparcmangler.patch 837 RMD160 7e3a2a94bb62c3c0da09f08096481cace2b1bb96 SHA1 5faccb311239c4c4d07a2c6dc507d51a18c2bc96 SHA256 3987724420c6d4b552c6fbb3b3ca10fca8aaa73573735aa3de824d3dc65f94af -AUX ghc-6.5-norelax.patch 613 RMD160 71012d8615e164c72d0db75c8cc606ccf8e3ddd9 SHA1 4bab0e904d9950ba92e16b3932635e5a1c3edee1 SHA256 0da9630bbd28edee7538d857dbeefd6d4cdddafd198499e61513f2f4d44c2fc0 -AUX ghc-6.6-nothreadedrts.patch 665 RMD160 402c8eb78dc648e55d1d7e00c695b49abe0f293d SHA1 8d0bc56096ebe781371dffa668de48a97173cd32 SHA256 bdfb000a70d97bb7341dda5a2ec48bb7f688532ade830eb2d73c7fa6ef1eead1 AUX ghc-apply-gmp-hack 2585 RMD160 1246e8fc40bbbb28f52f755457feca97bf3e22cc SHA1 63a7999b829548f82bcdcc4da869956abe2890bf SHA256 0d3c9e52be232734c916e9765fae770225ad6fb04c0948780867450401ff1eed AUX ghc-bash-completion 6496 RMD160 61574aab2f8ed4ae906df5ac291f528384b79b87 SHA1 a0d7c264cc8ff3d235511e151dc82f9e16691bac SHA256 82a862bea2c9248e06fcf74d307de07b05a55f9eb95f412762bd02e53fece822 -AUX ghc-updater 9262 RMD160 10332a0dd2fd2f09e28b250fb74655e67305e2d7 SHA1 c297589995aa6c310bcf61db6fec1df57d5f0eb8 SHA256 e6277b2731c6be5159d28a450ccf9dfe701601f86552096ef8d8c5daedc5929a DIST ghc-6.10.1-i386-apple-darwin.tar.bz2 97910484 RMD160 3764303b9c9161905b5c0e2e4000cfe0fceea85c SHA1 299a829981db533cbab71426051cf924f4a6cdd7 SHA256 b806bf9c163314c3aac389df1cf5f30e31d3557baa0eabce9279f6ef58305d51 DIST ghc-6.10.1-powerpc-apple-darwin.tar.bz2 110038307 RMD160 c3caed6f3c9c052ba480b728326783966dd5d77f SHA1 ada96c1671e79901fb5bb07e2def3e65d80316b9 SHA256 06a0712a18d328e408b3057a83e31ee6695b5a203f1e492ca1964a7899834134 DIST ghc-6.10.4-i386-unknown-solaris2.tar.bz2 78409258 RMD160 8595f81eb215437155518e27f3f8da4f33df72ee SHA1 7251e23e7190b92ca0e2a6c03adc866429ae9452 SHA256 f53bbffff5b469fb4a6cea6ce3965596240549529306c8a9cfbf0a9cf6296eea DIST ghc-6.10.4-sparc-sun-solaris2.tar.bz2 87371847 RMD160 6028d2224524c6dfeb7b9b352eeee1b59f077df2 SHA1 dc48c475bce414545b734e27e50433f43a3a1b0c SHA256 bc6fa54fcb66d3d5f14c4bb32bb932a9168040e3e7eb4ef410de7fc18ecd3a38 DIST ghc-6.10.4-src.tar.bz2 8060565 RMD160 5f83baf2549f1f4bea140c6a80728c2a76f60ab6 SHA1 0566858b409066d98da70de5adb9a7030d0df5dc SHA256 d66a8e52572f4ff819fe5c4e34c6dd1e84a7763e25c3fadcc222453c0bd8534d DIST ghc-6.12.3-src.tar.bz2 26592939 RMD160 021619aec4c820009e77745657bfdf0d9705f3e7 SHA1 d811be2131d4403ea452aa94fe71edd1b6bd0a79 SHA256 6cbdbe415011f2c7d15e4d850758d8d393f70617b88cb3237d2c602bb60e5e68 -DIST ghc-6.2.2-libraries.tar.gz 524182 RMD160 f4ce0df2040f91a5a56cc618e68f1aa2e4bf0185 SHA1 64af9e782f7eeae9f7f47445811f50cf3210f093 SHA256 ebcf8c1fd31c9a33ff64ca888f01e9911464469f59e5432c626b8c686c2d9142 -DIST ghc-6.2.2-src.tar.bz2 5406427 RMD160 7afa370c148f2b9c3d53d662da996f5d7c05282d SHA1 9ca5bfed02210d3731a76fab5e25a8c690067fde SHA256 a0fe7eb8d447f25fbc616cdbce2bb4e03961a884c2c37969d1e23588b588a852 -DIST ghc-6.2.2-users_guide.tar.gz 197576 RMD160 d17c2c89d03d911dfa0b449b47814d2e19dc6030 SHA1 7f7e79cb1a57812ac44f3e9881757cc278a8c14b SHA256 846df4bedf44f00a438a276c849289ce1b2d79f3fa53fb16d576517b2da1e509 -DIST ghc-6.4.2-alut.patch.gz 6670 RMD160 e6ab2a114f44f6f176a98c9cd6ab1e336662a958 SHA1 879000d18b11d1edc1a32cf720ed24bbc20e8981 SHA256 e116b385df3bb5a5feb92ce92a92bdb0f24115361aedb1bddc9a7e6ce682d8b9 -DIST ghc-6.4.2-libraries.tar.gz 975364 RMD160 e1f19920ba7cfbc92e52fb1e3a770cd6437482c1 SHA1 2640cd220cb6ad08f12f19eda27008be26c76bb9 SHA256 b1d492f1cb8b036f56e7df187730492a6dd993b5d9ce52e4bd42dbebc9044b51 -DIST ghc-6.4.2-src.tar.bz2 6954958 RMD160 19943eb2673e663973e64739cdf23720b6f36d38 SHA1 60bcea323f851caa84d49c7731b86164d5cefa42 SHA256 d517e52e0204a077c54cda11b67bf9b6ac3daa47ac7bccf1561afc7c572e6be0 -DIST ghc-6.4.2-users_guide.tar.gz 233341 RMD160 0c0d7325b1535c6e248a25accd068085b8ff8880 SHA1 e255ee25b796b43282caf68697e6a6fdac78bb14 SHA256 8949148e37b6ec7fbbc82f7151ac26c3cadcfec1783e17f672fa527f7366ccdd -DIST ghc-6.6-libraries.tar.gz 1221149 RMD160 7c8a8cf26f43f4cbb31f4eee0682f85bf7143daf SHA1 5a407a2df32894a9b7a8e519edd2539f808b960e SHA256 1df171a2d7996b1014c51353ef715010d682d6ff1115dbfa1fd68176dc923236 -DIST ghc-6.6-src.tar.bz2 4345587 RMD160 0d8d5cdde21e5ad86fba1023872be316316d14e7 SHA1 9876dbc46ef22684c2cc95e8dce49b2a1f47017e SHA256 79b2a29136d56c8120a526188297603304dc80d3093cda76fde939df7d4dcc7e -DIST ghc-6.6-users_guide.tar.gz 255475 RMD160 ecbdff8f0501780641408204fe60946cde392c95 SHA1 13c8e0e5922a8598a7b8c0eb05dbef9c8e1b661c SHA256 7242a6ccf3df6f141f4e493f9dd37def9d036239b819aa5a5d6f3a58489799ef -DIST ghc-6.6.1-src.tar.bz2 4339970 RMD160 6b82a74559425fe5fe1fa1b67a83433457bae0ad SHA1 cc1846b4ad607e270721371ce4043b1a017cd10e SHA256 489126ceeb2dbb6a85ef8d87d6792e61e1bc0d5882e4b33a7725410d796132c6 -DIST ghc-6.8.2-src.tar.bz2 7072545 RMD160 dc555c3137d9314a6ee6a0b7ad62c0ba16d9d52c SHA1 1f40b0ee2e51be1208fdb579ce4998181ec36a40 SHA256 2d10f973c35e8d7d9f62b53e26fef90177a9a15105cda4b917340ba7696a22d9 DIST ghc-bin-6.10.4-alpha.tbz2 84499083 RMD160 5f68a5592663d7c6abf3617ccab9aa35cbfc2d63 SHA1 88fb6020bf1fab2e0914c223087af94e926a1dda SHA256 cfe28ea83e000f1ba0853b78dd27b35fa5d823c4cb94699f901aec5e2705c315 DIST ghc-bin-6.10.4-amd64.tbz2 51566179 RMD160 68b261b4bbef89021a2c92e99c70db45ed85d9e7 SHA1 27e542cc49fa47566c59407fad1c9254d46a8d03 SHA256 2ced87862603a44a59744459a8231f587c0f225f70eb4861ad2db5098c2433a1 DIST ghc-bin-6.10.4-ia64.tbz2 86508052 RMD160 ea1f1de73be8ca51abd8eb748d92694ea4ade2f6 SHA1 eea28fe871e1e3821b370715930864d7fd955181 SHA256 2e8f03eec65329abb15c3d3351d8d4f896ac6c7fc8a8b3815807c3bd0329292e @@ -68,52 +48,15 @@ DIST ghc-bin-6.12.3-ppc64.tbz2 95781107 RMD160 b089772ef07a33db30084727a286a14e7 DIST ghc-bin-6.12.3-sparc.tbz2 79140624 RMD160 f18441723c13d46f64942e195c4c0324b5d75833 SHA1 56fbce712d54f78d4d7e3fbeae77ab1476f9c6a3 SHA256 3e3fb498a1fae5cd2285ea9a22d94b4bead500c0aace5ee76d49e1a3919da96f DIST ghc-bin-6.12.3-x86-fbsd.tbz2 78971971 RMD160 e8a852e260d78bf5e3851952d5fb850f46ca89b1 SHA1 c08e81718202513f16219de29880271676473461 SHA256 8c39359b3dad6216a1b92464468f9c554d5bae546b037f57d7dccb8ecd5f9f7a DIST ghc-bin-6.12.3-x86.tbz2 82262946 RMD160 8256df61e6998d819c7d40d613037c5f313c948b SHA1 73dc4422bbabf5c0d8de4a6672db4b3fedd42f9c SHA256 0d74a18473d6303e8818a6bd1de87f6dfd86466e7d967d68707a6c255a96945d -DIST ghc-bin-6.2.2-r1-ppc.tbz2 21018465 RMD160 4dda12e11ce31d395d1085e441171580832003f7 SHA1 0b0f3c5a77612a52317914730c0ecb15bd75d719 SHA256 453babea6a9c3d3382b9987f5e40d184dd3e591a7b1d1f6bd6d41984d94f4dd4 -DIST ghc-bin-6.2.2-r1-sparc.tbz2 16189582 RMD160 0ba8ff87c91abcd43988c21df8537eec0932c6a3 SHA1 404333d666256164bf056f6144f0b21094719e1b SHA256 5d225e05e73cb85500b4a1860a4dd82adbb9edc4791d087341b4458e70022cc3 -DIST ghc-bin-6.2.2-r1-x86.tbz2 14561932 RMD160 b8e6a08b269257689efdc95d698a9e2b86c6d3e3 SHA1 71da573a12385b69a872fb39edeb7b06f1db38b2 SHA256 24a4ea7fe9b8ba58f84e0d68012158e70972a1caacd482d6c84905bda4502f63 -DIST ghc-bin-6.4.2-alpha.tbz2 30930863 RMD160 f53968b2b9329dd4ffb15dfb64c3e7748e7fcfc2 SHA1 2915deac0a915d9c317d8781a3179041daa235c9 SHA256 8668d6b4d28a6567fb17665d41784c61576cabf6d80cf47c8b66d1f3f4178a3b -DIST ghc-bin-6.4.2-amd64.tbz2 18554509 RMD160 f4b9ee0041d2a005a1d2d98290dc89eb120c5939 SHA1 d134942591fdfb17bd1b8e010220ea1086e85aca SHA256 8466a5f017a09d5bee2bd4f28cb0fa690cd2bf0f6c9fedd892624c7f1096d214 -DIST ghc-bin-6.4.2-ia64.tbz2 28944776 RMD160 85f9a3f09e9f319cea0c8a253fdb03885ff7f13e SHA1 8124cb8b39c6e11c8373dfb0289c337617bc8f11 SHA256 7ac02b0277bbbc92aea4de150404ebf5b12445db197b08573446cad901638f12 -DIST ghc-bin-6.4.2-ppc.tbz2 22994932 RMD160 3ee3b26a1b98ceb085a2ca12e9e9e791c245ba86 SHA1 747ee3f204389c68e7c66d20ce2d535e2992ab20 SHA256 1239845ddaafe0bbfe8e24a13a6a7a7ba4462f313227e28d47beb644e876979c -DIST ghc-bin-6.4.2-ppc64.tbz2 28817831 RMD160 98f4e0800233d0b75c519be26b77fd2455fa167d SHA1 d216e5c03d7cce7e3a109b754cde6c85596c4d68 SHA256 788a4c4e5730afd921bfe2c84c894b4190422a5d9e6d18d135de92976446d40a -DIST ghc-bin-6.4.2-sparc.tbz2 22175545 RMD160 fa8fa8d85a167db895ea74b9ce40590ceae503ab SHA1 0dd7de97eaadf548d152300a131629371648a8aa SHA256 c95edaff53778edcfd275e41f70cadc2fd7e83c058b5d09e2a44081ae1c29d30 -DIST ghc-bin-6.4.2-x86-fbsd.tbz2 19091807 RMD160 6071878b02b87066f8937b671d6414330a41a841 SHA1 9f3a66fcfe872980d073e5f6cb309dcee1a7d2cb SHA256 f2a397d233a491ab65ab43223e7657f7fc47311413e168bcd6a735e705c1acf3 -DIST ghc-bin-6.4.2-x86.tbz2 19367589 RMD160 5d3ad1b92c3785db1090799ee6da6182a4771248 SHA1 71876713bbe4cbd335ac50118c9c50219e02d2a5 SHA256 9628c3d3ca3c095c5c423cffb0d0daf801e518f6d6ace17c032c6ca6d5e3e24c -DIST ghc-bin-6.6-alpha.tbz2 35338275 RMD160 82b7dca5f3c8b89e7e395da95d596197eca92888 SHA1 931a6d3db14272a72398ed4b520a162f78c84a27 SHA256 3a8e6cacccdb95313a22b8a8c27ecc0311ef83380f303a286f1d8ab216aa4f5d -DIST ghc-bin-6.6-amd64.tbz2 26093530 RMD160 b44c90a8e3f99a462af0400d0d31c315833606bb SHA1 1bde6e886df681da8ff65529ca1fd288e1b768a0 SHA256 acde821d26abbd0838e5bcd41cbde0daf5a538fea7619e3f2bc6cbe491d4b387 -DIST ghc-bin-6.6-ppc.tbz2 34668445 RMD160 33f811104146dc8ef4d2839f71d39eb821128515 SHA1 b7ab12fe30ada669b7241bd604280674d94a8284 SHA256 f0bc5583396666da4f03f519cec9fc239e96ae06d5fdb5bd951de8dae1cb1d79 -DIST ghc-bin-6.6-sparc.tbz2 30576579 RMD160 0392fc6529f48f34a009dc9d4cd51da68db072eb SHA1 4d748c4b5b504245f1d9c793f57dc0008466371c SHA256 7588d5adc444cf82dfeaa336b4bd6ccf6dbc4621f929ad664ae6742836229503 -DIST ghc-bin-6.6-x86.tbz2 24960612 RMD160 086a7784e616d0d789be8ceb3b3ba01832d3430b SHA1 4f51e60c73e1f256dc4954a2f3191415361436c5 SHA256 38f58d9fef8ccf2544c4da75c4ce6e04393cf261a2de2e253bcafbdaf4e8ea72 -DIST ghc-bin-6.6.1-alpha.tbz2 36740906 RMD160 88d15d55fc6837d57b83be2dab285a3cf23b0e87 SHA1 e019fcb7cf7dbb6069a994e34696945ed6e1f49c SHA256 9637e4c1d1957ef8f0584d9e88278f1dca9db0d13b121f9ebe40a64716a652dd -DIST ghc-bin-6.6.1-amd64.tbz2 27473156 RMD160 20359587c05ebead0e357d4c217e496f28ae6d5d SHA1 48ba2f6573cba5f76f1578de70defd9210545785 SHA256 f8e1795dd84f64eec0a15ca15cdb3ec08a164790ebe35b3ba2d9743e9dae3b16 -DIST ghc-bin-6.6.1-ia64.tbz2 31173460 RMD160 9370becd46a3446c658072a5c7a83c656b98bcff SHA1 9343e15f6fd3b1b0a4b81481426b5d02187e073e SHA256 5d0110dd4d84519e7e84e37af8b7a2b13f62ae40fd75112f96b177d9e17f6946 -DIST ghc-bin-6.6.1-ppc.tbz2 36241311 RMD160 af8fbaa06d9a13337612b44b2131ee3a95a7aa0c SHA1 142c53de642514f8eaac84ab22db5b79374cd6b3 SHA256 55dd1464ce9b7385437052a7240c85299c879aec2795b12e2169482af52e686f -DIST ghc-bin-6.6.1-sparc.tbz2 31791719 RMD160 5cfd2aebfc1aae1c4fbb7bd39c6fd9715ad041cd SHA1 868a811b9cb00ab1c82e7353a0a35f5918e38944 SHA256 ecfd0dd250390d5e0a1a32e5be0bfac70f73e98d1a946641bd8be23c91e47706 -DIST ghc-bin-6.6.1-x86.tbz2 26134077 RMD160 fcc31115073c2c0c4be75dce0253cb9bca5e45d3 SHA1 2c6e4bfadbae714b2f8a5da8efbc43f8124e6f8d SHA256 17a9b7125ae52c7d20f177214919837c95f96d6d997d729e493a0b94bdb84d29 -DIST ghc-bin-6.8.2-alpha.tbz2 47983125 RMD160 4313112d5ab24f4120913bf8ffae46ffa37c1ee2 SHA1 7e2aa64d8e8494ba1e84be4549232253d302a205 SHA256 cd9c3b6a938b76dada2d34b33c0346b29dd645f0e7e597eda9c33d3aa7b2f756 -DIST ghc-bin-6.8.2-amd64.tbz2 31838398 RMD160 6e35229a2d4506dfec6ae732199d5f1cd79c91ef SHA1 9283ba39b9443c91035d8bdbd93278af98bc279d SHA256 d4510773b96afc3b89e6820fd4d0de3ebad34bbee0c200542bd1ad917b97020e -DIST ghc-bin-6.8.2-ia64.tbz2 46889108 RMD160 e7320de4c96e6c34e218d8574f1ab985541bb46f SHA1 c386b1f57644e0d3aa5a871a0b47de0d16e3f51e SHA256 f928e0b974988d4f68f3beae6c78f94187bbe5a0ebda35ffc50a1a01a634c2ad -DIST ghc-bin-6.8.2-ppc.tbz2 41056145 RMD160 07347fb88b7cc94860f17201b7706963a2b23967 SHA1 168d4a763198e055700af747178cd033c362634e SHA256 62b089dd30523bdb10ff1474e1326ddb0cc3628a8499e789675cef1a77e4cb87 -DIST ghc-bin-6.8.2-sparc.tbz2 47563989 RMD160 7acbb0284ab02e501d28ef520c451b8022440b63 SHA1 5c76ce09b8a440396e94ce42b8ed7e92f988a748 SHA256 b9c391858ccc63137197445541966dd01427f549ef5d45e4359a588613821c4e -DIST ghc-bin-6.8.2-x86.tbz2 30872949 RMD160 ce2f9f6fe88440ba3574d85c219e96210d35128a SHA1 17fa4fc07e12655d4599761986386c18c0ee23a1 SHA256 3c7e22dd18e622b6c9c802584cb5556b0afa7186f0df78d420d008b8c4f59fed -DIST ghc-bundled-readline-5.2_p13-amd64.tbz2 976677 RMD160 f0543aa3f404d45aad4360cc07b777c3aaafc5fb SHA1 1737eae6fe00c4924577e6eb8fa5d2c7eb0b24ca SHA256 f67250899590a551278695bcb7f143c5a6423ea47e5e6966615072cc0f9b51f0 -DIST ghc-bundled-readline-5.2_p13-x86.tbz2 940742 RMD160 5f9470a99047f004bd0917c62253bff9b663c9a5 SHA1 f5463a8929d2ba792b91085f78d6763cb50ef14e SHA256 bb9766235ed0d6e3c2f3ffe1625ecbe8e4d2e0254f7060e845be3a404835cd2a -DIST ghc-testsuite-6.4.2.tar.gz 1181389 RMD160 1eea6a19a9fca6b3d56a6f29b69289cb88af8173 SHA1 7ada60fe2abb9208d841787781d522d5a1110dc2 SHA256 1a864243e922c233049585fa3bf4a86a0ca3e7b3ffebf26245eb037f15dd4d12 EBUILD ghc-6.10.4-r1.ebuild 13011 RMD160 4feb3ad764af5ad16b3dd5a000d49755c8b91c2a SHA1 c8eb3181598c05053e1f27b5fdb2a3a4264377b1 SHA256 f8c163192a9c5a62158bbb5698cef9872fa0e64956689aeafb3f90c8c9670b0a EBUILD ghc-6.12.3-r2.ebuild 20276 RMD160 ad0894c2d92610bffa37d965bee82b89b4f19a59 SHA1 cba6efd2f15ec5ba0542f69a3cbd2de9088ca903 SHA256 4eb350d6a8ae8261485831929185bafc28d29507daa2d2a839ffade9f00939af EBUILD ghc-6.12.3.ebuild 14839 RMD160 6ec6a88c9d4f616b32e8073610f051f0e86d7357 SHA1 b8c1b5c5bf6fe3db063e66f4997b7ab34c78d73e SHA256 cacb480c299072e2a004599682e8b4b04038997bde27ed47c7799398ca1cac0a -EBUILD ghc-6.2.2.ebuild 10613 RMD160 32eb80c657fcea0c99e683b313643e063fa67f30 SHA1 e35b8257c2e2d7b8ed9e62835a0b76994f0e91a8 SHA256 570e1f68ec3965ab8aab15ea946e96c6f7be7e037e60a1b9afd26cd479122cca -EBUILD ghc-6.4.2.ebuild 13718 RMD160 9cee26621e31ee8ed3e59cfd27cdf1f0689b054c SHA1 62f98f4ed6f74f770810b27d4772c4947129020e SHA256 b6fe46438045cc54225f20b4f4bdd4f33dfd18c303348e68d27626875de28368 -EBUILD ghc-6.6.1.ebuild 12333 RMD160 76cd8b4fe72842cfcd0e2bf20f5c11e788472bd9 SHA1 3e5c4fc62c8fd1e6d12963a852ccea332d4b46a1 SHA256 31e22a90f41f66b127e428788f854e3ac4c08cae3cca2f326e2bb88e670e9de6 -EBUILD ghc-6.6.ebuild 10978 RMD160 f67c1aa1d68f5a277d5d6db6004269f576b95d80 SHA1 7c18bc6d59b1c948651fad042a8928af8aa07a81 SHA256 8e3efaf74dd46ca2bcf3a0f5e75700b7ad4e8083795c3604cc247a0fa6e6d8bf -EBUILD ghc-6.8.2-r1.ebuild 9147 RMD160 48d75d1fb56e58c4f87e95c6e1664bdabbb3eba4 SHA1 b8510681b9f2535a87f0cbef3768a771071ea1c5 SHA256 90eef3470c0ae305c0248ce2248333e703039a2c16ce6d567a88f9601b28690d -EBUILD ghc-6.8.2.ebuild 9201 RMD160 0b0685249c09afbb3a03f8c54e458eabf6e0a90f SHA1 9dc6947b948770e710aae71ed2ccb301609b8ffb SHA256 724109ab0e94f8919bb0ea92a96f48be2a10bea5ee339e2b750bf81669e96231 -MISC ChangeLog 37330 RMD160 0f33fcb86c9236275a394242cf9bced9ee8cb58d SHA1 b9a1058439c252e88f8cc09e12567420db962262 SHA256 a00a2f3391e4384f2d3654735f2fb958ba796c0fca3cfb089f406d264de961bb +MISC ChangeLog 37820 RMD160 9a384eb68929a13fe209d89b5b3632bda705c71b SHA1 ee303c001f8986e82758f6e10c373b798f2b25c3 SHA256 e3e1209b5194a9012db45b7732a1cee517588e2d0a834f169cef5e5a113efa78 MISC metadata.xml 442 RMD160 9cfa0af9084477c8a70ecf0ac3fb3093ae0cd602 SHA1 be2833090f093ac1c8fc2f5c6f3f253bdbdd6b96 SHA256 2bacbdfcaea11289949a687626f59f99af8fda9ec495b2c349ce5898d9f0dcd4 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) -iEYEARECAAYFAk21tzsACgkQcaHudmEf86o6cgCaA7XHmfBVeaVFw2LdS91hhQx0 -XnEAnjqaOftvdiJWwkKgPb9exQxqXBC+ -=fLjv +iEYEARECAAYFAk3rrzcACgkQcaHudmEf86pfuwCeIZ5vNW+SRyOcJK5+JyRKT8WR +4cgAnj6lAP777F6mQRAALqaFlhnvpFFp +=fZzM -----END PGP SIGNATURE----- diff --git a/dev-lang/ghc/files/10ghc b/dev-lang/ghc/files/10ghc deleted file mode 100644 index 064cfb79d5bd..000000000000 --- a/dev-lang/ghc/files/10ghc +++ /dev/null @@ -1,2 +0,0 @@ -PATH=/opt/ghc/bin -ROOTPATH=/opt/ghc/bin diff --git a/dev-lang/ghc/files/depsort.py b/dev-lang/ghc/files/depsort.py deleted file mode 100644 index 4c3cb7bc84ab..000000000000 --- a/dev-lang/ghc/files/depsort.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/python - -# tries to reorder the deps of a given list of packages so they -# are merged in order - liquidx@g.o (09 Oct 03) - -import portage -import sys, string - -fakedbapi = portage.fakedbapi() -varapi = portage.db["/"]["vartree"].dbapi - -pkgs_to_reorder = sys.argv[1:] -pkgs_ordered = [] - -# key = catpkgver -# value = dependencies -dep_cache = {} - - -# very simply, we extract the dependencies for each package -for pkg in pkgs_to_reorder: - try: - deps, slot = varapi.aux_get(pkg, ["DEPEND", "SLOT"]) - except ValueError: - sys.stderr.write("Error getting dependency information off " + pkg + "\n") - continue - try: - realdeps = portage.dep_check(deps, fakedbapi) - except TypeError: - # we're probably running >=portage-2.0.50 - pkgsettings = portage.config(clone=portage.settings) - realdeps = portage.dep_check(deps, fakedbapi, pkgsettings) - - vardeps = [] - # match() finds the versions of all those that are installed - for dep in realdeps[1]: - vardeps = vardeps + varapi.match(dep) - dep_cache[pkg] = vardeps - -# topsort takes a graph (given as a dictionary with the nodes -# as keys and the outgoing edges as values), and returns a -# list of nodes that is topologically sorted -def topsort (graph) : - visited = dict([(node,False) for node in graph.keys()]) - result = [] - - def dfs_single (node) : - visited[node] = True - for adj in graph[node]: - # we ignore dependencies that are not nodes in the graph - if adj in graph.keys() and not visited[adj]: - dfs_single (adj) - result.append(node) - - for node in graph.keys(): - if not visited[node]: - dfs_single (node) - - return result - -pkgs_final_order = topsort(dep_cache) - -print string.join(pkgs_final_order, "\n") -#print portage.dep_expand("=dev-python/sip-3.8", portage.portdb) -#print portage.dep_check("X? ( >=dev-python/sip-3.8 )", fakedbapi) diff --git a/dev-lang/ghc/files/ghc-6.10.2-readline.patch b/dev-lang/ghc/files/ghc-6.10.2-readline.patch deleted file mode 100644 index 315d800ac57b..000000000000 --- a/dev-lang/ghc/files/ghc-6.10.2-readline.patch +++ /dev/null @@ -1,216 +0,0 @@ -Lennart Kolmodin <kolmodin@gentoo.org> 2009 -Make GHC 6.10.2 use readline instead of editline - -diff -rN -u old-ghc-6.10.2/aclocal.m4 new-ghc-6.10.2/aclocal.m4 ---- old-ghc-6.10.2/aclocal.m4 2009-04-02 22:56:21.000000000 +0200 -+++ new-ghc-6.10.2/aclocal.m4 2009-04-02 22:56:23.000000000 +0200 -@@ -900,18 +900,18 @@ - fi])# FP_PROG_GHC_PKG - - --# FP_GHC_HAS_EDITLINE -+# FP_GHC_HAS_READLINE - # ------------------- --AC_DEFUN([FP_GHC_HAS_EDITLINE], -+AC_DEFUN([FP_GHC_HAS_READLINE], - [AC_REQUIRE([FP_PROG_GHC_PKG]) --AC_CACHE_CHECK([whether ghc has editline package], [fp_cv_ghc_has_editline], --[if "${GhcPkgCmd-ghc-pkg}" --show-package editline >/dev/null 2>&1; then -- fp_cv_ghc_has_editline=yes -+AC_CACHE_CHECK([whether ghc has readline package], [fp_cv_ghc_has_readline], -+[if "${GhcPkgCmd-ghc-pkg}" describe readline >/dev/null 2>&1; then -+ fp_cv_ghc_has_readline=yes - else -- fp_cv_ghc_has_editline=no -+ fp_cv_ghc_has_readline=no - fi]) --AC_SUBST([GhcHasEditline], [`echo $fp_cv_ghc_has_editline | sed 'y/yesno/YESNO/'`]) --])# FP_GHC_HAS_EDITLINE -+AC_SUBST([GhcHasReadline], [`echo $fp_cv_ghc_has_readline | sed 'y/yesno/YESNO/'`]) -+])# FP_GHC_HAS_READLINE - - - # FP_GCC_EXTRA_FLAGS -diff -rN -u old-ghc-6.10.2/compiler/ghc.cabal.in new-ghc-6.10.2/compiler/ghc.cabal.in ---- old-ghc-6.10.2/compiler/ghc.cabal.in 2009-04-02 22:56:21.000000000 +0200 -+++ new-ghc-6.10.2/compiler/ghc.cabal.in 2009-04-02 22:56:23.000000000 +0200 -@@ -28,8 +28,8 @@ - Default: False - Manual: True - --Flag editline -- Description: Use editline -+Flag readline -+ Description: Use readline - Default: False - Manual: True - -@@ -71,8 +71,8 @@ - else - Build-Depends: unix - -- if flag(editline) -- Build-Depends: editline -+ if flag(readline) -+ Build-Depends: readline - CPP-Options: -DUSE_EDITLINE - - GHC-Options: -Wall -fno-warn-name-shadowing -fno-warn-orphans -diff -rN -u old-ghc-6.10.2/compiler/ghci/InteractiveUI.hs new-ghc-6.10.2/compiler/ghci/InteractiveUI.hs ---- old-ghc-6.10.2/compiler/ghci/InteractiveUI.hs 2009-04-02 22:56:21.000000000 +0200 -+++ new-ghc-6.10.2/compiler/ghci/InteractiveUI.hs 2009-04-02 22:56:23.000000000 +0200 -@@ -66,7 +66,7 @@ - - #ifdef USE_EDITLINE - import Control.Concurrent ( yield ) -- Used in readline loop --import System.Console.Editline.Readline as Readline -+import System.Console.Readline as Readline - #endif - - --import SystemExts -@@ -96,6 +96,10 @@ - - import Data.IORef ( IORef, readIORef, writeIORef ) - -+#ifdef USE_EDITLINE -+import System.Posix.Internals ( setNonBlockingFD ) -+#endif -+ - ----------------------------------------------------------------------------- - - ghciWelcomeMsg :: String -@@ -322,10 +326,6 @@ - when is_tty $ withReadline $ do - Readline.initialize - -- withGhcAppData -- (\dir -> Readline.readHistory (dir </> "ghci_history")) -- (return True) -- - Readline.setAttemptedCompletionFunction (Just completeWord) - --Readline.parseAndBind "set show-all-if-ambiguous 1" - -@@ -360,9 +360,6 @@ - - #ifdef USE_EDITLINE - liftIO $ do -- Readline.stifleHistory 100 -- withGhcAppData (\dir -> Readline.writeHistory (dir </> "ghci_history")) -- (return True) - Readline.resetTerminal Nothing - #endif - -@@ -634,11 +631,9 @@ - return (Just str) - - withReadline :: IO a -> IO a --withReadline = bracket_ stopTimer startTimer -- -- editline doesn't handle some of its system calls returning -- -- EINTR, so our timer signal confuses it, hence we turn off -- -- the timer signal when making calls to editline. (#2277) -- -- If editline is ever fixed, we can remove this. -+withReadline = flip finally (setNonBlockingFD 0) -+ -- 1. readline sometimes puts stdin into blocking mode, -+ -- so we need to put it back for the IO library - - -- These come from the RTS - foreign import ccall unsafe startTimer :: IO () -diff -rN -u old-ghc-6.10.2/compiler/ghci/Linker.lhs new-ghc-6.10.2/compiler/ghci/Linker.lhs ---- old-ghc-6.10.2/compiler/ghci/Linker.lhs 2009-04-02 22:56:21.000000000 +0200 -+++ new-ghc-6.10.2/compiler/ghci/Linker.lhs 2009-04-02 22:56:23.000000000 +0200 -@@ -953,7 +953,7 @@ - partOfGHCi - | isWindowsTarget || isDarwinTarget = [] - | otherwise = map PackageName -- ["base", "haskell98", "template-haskell", "editline"] -+ ["base", "haskell98", "template-haskell", "readline"] - - showLS :: LibrarySpec -> String - showLS (Object nm) = "(static) " ++ nm -diff -rN -u old-ghc-6.10.2/compiler/Makefile new-ghc-6.10.2/compiler/Makefile ---- old-ghc-6.10.2/compiler/Makefile 2009-04-02 22:56:21.000000000 +0200 -+++ new-ghc-6.10.2/compiler/Makefile 2009-04-02 22:56:23.000000000 +0200 -@@ -118,15 +118,15 @@ - CONFIGURE_FLAGS_STAGE2 += --ghc-option=-DDEBUGGER - endif - --# Enable editline if: --# - we're building stage 2/3, and we have built the editline package -+# Enable readline if: -+# - we're building stage 2/3, and we have built the readline package - # --# But we don't enable editline on Windows, as Windows terminals have --# editline-like support builtin. -+# But we don't enable readline on Windows, as Windows terminals have -+# readline-like support builtin. - # - ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32" --ifeq "$(wildcard $(FPTOOLS_TOP_ABS)/libraries/editline/unbuildable)" "" --CONFIGURE_FLAGS_STAGE2 += --flags=editline -+ifeq "$(wildcard $(FPTOOLS_TOP_ABS)/libraries/readline/unbuildable)" "" -+CONFIGURE_FLAGS_STAGE2 += --flags=readline - endif - endif - endif -diff -rN -u old-ghc-6.10.2/configure.ac new-ghc-6.10.2/configure.ac ---- old-ghc-6.10.2/configure.ac 2009-04-02 22:56:21.000000000 +0200 -+++ new-ghc-6.10.2/configure.ac 2009-04-02 22:56:23.000000000 +0200 -@@ -679,8 +679,8 @@ - AC_SUBST(ghc_ge_609)dnl - fi - --# Check whether this GHC has editline installed --FP_GHC_HAS_EDITLINE -+# Check whether this GHC has readline installed -+FP_GHC_HAS_READLINE - - # Dummy arguments to print help for --with-editline-* arguments. - # Those are actually passed to the editline package's configure script -diff -rN -u old-ghc-6.10.2/libraries/ifBuildable.hs new-ghc-6.10.2/libraries/ifBuildable.hs ---- old-ghc-6.10.2/libraries/ifBuildable.hs 2009-04-02 22:56:22.000000000 +0200 -+++ new-ghc-6.10.2/libraries/ifBuildable.hs 2009-04-02 22:56:23.000000000 +0200 -@@ -36,5 +36,5 @@ - requiredLines = filter ((3 == ) . length) $ map words nonCommentLines - requiredLibraries = [ x | 'l':'i':'b':'r':'a':'r':'i':'e':'s':'/':x - <- map head requiredLines ] -- return $ filter ("editline" /=) requiredLibraries -+ return $ filter ("readline" /=) requiredLibraries - -diff -rN -u old-ghc-6.10.2/libraries/Makefile new-ghc-6.10.2/libraries/Makefile ---- old-ghc-6.10.2/libraries/Makefile 2009-04-02 22:56:22.000000000 +0200 -+++ new-ghc-6.10.2/libraries/Makefile 2009-04-02 22:56:23.000000000 +0200 -@@ -46,7 +46,7 @@ - ifeq "$(Windows)" "YES" - SUBDIRS += $(wildcard Win32) - endif --SUBDIRS += directory process pretty hpc template-haskell editline Cabal random haskell98 -+SUBDIRS += directory process pretty hpc template-haskell readline Cabal random haskell98 - - # Set GhcBootLibs=YES from the command line to work with just the libraries - # needed to bootstrap GHC. -diff -rN -u old-ghc-6.10.2/Makefile new-ghc-6.10.2/Makefile ---- old-ghc-6.10.2/Makefile 2009-04-02 22:56:21.000000000 +0200 -+++ new-ghc-6.10.2/Makefile 2009-04-02 22:56:23.000000000 +0200 -@@ -393,7 +393,7 @@ - echo "HaveLibGmp = $(HaveLibGmp)" >> $(BIN_DIST_VARFILE) - echo "GhcLibsWithUnix = $(GhcLibsWithUnix)" >> $(BIN_DIST_VARFILE) - echo "GhcWithInterpreter = $(GhcWithInterpreter)" >> $(BIN_DIST_VARFILE) -- echo "GhcHasEditline = $(GhcHasEditline)" >> $(BIN_DIST_VARFILE) -+ echo "GhcHasReadline = $(GhcHasReadline)" >> $(BIN_DIST_VARFILE) - echo "BootingFromHc = $(BootingFromHc)" >> $(BIN_DIST_VARFILE) - echo "XMLDocWays = $(XMLDocWays)" >> $(BIN_DIST_VARFILE) - # We won't actually use xsltproc, but we need to know if it's "" or not -diff -rN -u old-ghc-6.10.2/mk/config.mk.in new-ghc-6.10.2/mk/config.mk.in ---- old-ghc-6.10.2/mk/config.mk.in 2009-04-02 22:56:22.000000000 +0200 -+++ new-ghc-6.10.2/mk/config.mk.in 2009-04-02 22:56:23.000000000 +0200 -@@ -891,8 +891,8 @@ - GHC = @WithGhc@ - GhcDir = $(dir $(GHC)) - --# Set to YES if $(GHC) has the editline package installed --GhcHasEditline = @GhcHasEditline@ -+# Set to YES if $(GHC) has the readline package installed -+GhcHasReadline = @GhcHasReadline@ - - HBC = @HBC@ - NHC = @NHC@ diff --git a/dev-lang/ghc/files/ghc-6.4.2-sparc32plus.patch b/dev-lang/ghc/files/ghc-6.4.2-sparc32plus.patch deleted file mode 100644 index 709f3db52b1d..000000000000 --- a/dev-lang/ghc/files/ghc-6.4.2-sparc32plus.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- ghc-6.4.2/ghc/rts/Linker.c 2006-01-04 15:24:10.000000000 +0000 -+++ ghc-6.4.2.new/ghc/rts/Linker.c 2006-05-15 21:06:45.000000000 +0100 -@@ -2695,6 +2695,9 @@ - IF_DEBUG(linker,debugBelch( "Architecture is " )); - switch (ehdr->e_machine) { - case EM_386: IF_DEBUG(linker,debugBelch( "x86" )); break; -+#ifdef EM_SPARC32PLUS -+ case EM_SPARC32PLUS: -+#endif - case EM_SPARC: IF_DEBUG(linker,debugBelch( "sparc" )); break; - #ifdef EM_IA_64 - case EM_IA_64: IF_DEBUG(linker,debugBelch( "ia64" )); break; diff --git a/dev-lang/ghc/files/ghc-6.4.2-sparcmangler.patch b/dev-lang/ghc/files/ghc-6.4.2-sparcmangler.patch deleted file mode 100644 index 7431ffb5a5fe..000000000000 --- a/dev-lang/ghc/files/ghc-6.4.2-sparcmangler.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- ghc/driver/mangler/ghc-asm.lprl- 2006-08-23 14:24:27.000000000 +0000 -+++ ghc/driver/mangler/ghc-asm.lprl 2006-08-23 14:25:46.000000000 +0000 -@@ -417,8 +417,8 @@ - $T_CONST_LBL = '^\.LLC(\d+):$'; # regexp for what such a lbl looks like - $T_POST_LBL = ':'; - -- $T_MOVE_DIRVS = '^((\s+\.align\s+\d+|\s+\.proc\s+\d+|\s+\.global\s+\S+|\.text|\.data|\.seg|\.stab.*|\s+?\.section.*|\s+\.type.*|\s+\.size.*)\n)'; -- $T_COPY_DIRVS = '\.(global|globl|proc|stab)'; -+ $T_MOVE_DIRVS = '^((\s+\.align\s+\d+|\s+\.proc\s+\d+|\s+\.global\s+\S+|\s+\.local\s+\S+|\.text|\.data|\.seg|\.stab.*|\s+?\.section.*|\s+\.type.*|\s+\.size.*)\n)'; -+ $T_COPY_DIRVS = '\.(global|local|globl|proc|stab)'; - - $T_DOT_WORD = '\.(long|word|nword|xword|byte|half|short|skip|uahalf|uaword)'; - $T_DOT_GLOBAL = '^\t\.global'; diff --git a/dev-lang/ghc/files/ghc-6.5-norelax.patch b/dev-lang/ghc/files/ghc-6.5-norelax.patch deleted file mode 100644 index 1941757b19f3..000000000000 --- a/dev-lang/ghc/files/ghc-6.5-norelax.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -rN -u old-ghc-1/compiler/main/DriverPipeline.hs new-ghc/compiler/main/DriverPipeline.hs ---- old-ghc-1/compiler/main/DriverPipeline.hs 2006-09-13 10:33:23.000000000 +0200 -+++ new-ghc/compiler/main/DriverPipeline.hs 2006-09-13 10:33:23.000000000 +0200 -@@ -1014,6 +1014,10 @@ - let ld_r args = SysTools.runLink dflags ([ - SysTools.Option "-nostdlib", - SysTools.Option "-nodefaultlibs", -+#ifdef sparc_TARGET_ARCH -+ -- options '--relax' and '-r' are incompatible -+ SysTools.Option "-mno-relax", -+#endif - SysTools.Option "-Wl,-r", - SysTools.Option ld_x_flag, - SysTools.Option "-o", - diff --git a/dev-lang/ghc/files/ghc-6.6-nothreadedrts.patch b/dev-lang/ghc/files/ghc-6.6-nothreadedrts.patch deleted file mode 100644 index 24224203189f..000000000000 --- a/dev-lang/ghc/files/ghc-6.6-nothreadedrts.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- ghc-6.6/compiler/Makefile 2006-10-10 14:03:51.000000000 -0500 -+++ ghc-6.6.patched/compiler/Makefile 2007-04-04 11:57:06.000000000 -0500 -@@ -415,7 +415,9 @@ - PKG_DEPENDS += template-haskell - - # Use threaded RTS with GHCi, so threads don't get blocked at the prompt. -+ifneq "$(GhcNotThreaded)" "YES" - SRC_HC_OPTS += -threaded -+endif - - ALL_DIRS += ghci - ---- ghc-6.6/compiler/Makefile.ghcbin 2006-10-10 14:03:52.000000000 -0500 -+++ ghc-6.6.patched/compiler/Makefile.ghcbin 2007-04-04 11:57:30.000000000 -0500 -@@ -26,7 +26,9 @@ - SRC_HC_OPTS += -DGHCI -DBREAKPOINT - endif - -+ifneq "$(GhcNotThreaded)" "YES" - SRC_HC_OPTS += -threaded -+endif - - odir=stage$(stage) - diff --git a/dev-lang/ghc/files/ghc-updater b/dev-lang/ghc/files/ghc-updater deleted file mode 100755 index 727089509eb6..000000000000 --- a/dev-lang/ghc/files/ghc-updater +++ /dev/null @@ -1,335 +0,0 @@ -#!/bin/sh -# -# This script has been modified by kosmikus and is based on -# python-updater by liquidx. -# -# It tries to update any package that provides a ghc library. -# This script can be run as many times as you like. It will log the -# results in /var/log/ghc-updater.log -# -# NEW_GHC_VER = new ghc version we are upgrading to -# PKGS_EXCEPTIONS = packages that should NOT be re-emerged for any reason -# PKGS_MANUAL = packages that should be re-emerged even if they don't -# fit the criteria -# -# Runtime Variables: -# -# PKGS_TO_REMERGE = list of packages we deem to need re-emerging -# PKGS_OK = list of packages that should be merged without any problems -# PKGS_MISSING = list of packages that are installed, but cannot be merged -# because they have been pruned from portage -# PKGS_MASKED = list of packages that are installed, but masked. -# - -shopt -s nullglob - -# fix the PATH to include the dirs where portage installs ghc -PATH="/usr/bin:/opt/ghc/bin:${PATH}" - -NEW_GHC_VER=$(ghc --version | sed 's:^.*version ::') -NEW_GHC_LIBDIR=$(ghc --print-libdir) - -PKGS_EXCEPTIONS="dev-lang/ghc dev-lang/ghc-bin" -PKGS_MANUAL="" -LOGFILE="/var/log/ghc-updater.log" - -# portage variables -PKG_DBDIR=/var/db/pkg - -# moved the portageq checks into a function to make command -# line parsing immediate - -setup_portdir() { - PORTDIR=`portageq portdir` - PORTDIR_OVERLAYS=`portageq portdir_overlay` -} - -PRETEND=0 -PKGS_TO_REMERGE="" -PKGS_COUNT_REMERGE=0 -PORTAGE_PYTHON="/usr/bin/python" - -usage() { - echo "usage: ghc-updater [options]" - echo " -h, -?, --help help" - echo " -p, --pretend pretend (don't do anything)" -} - -# -# -# Command Line Parsing -# -# -while [ -n "$1" ]; do - case "$1" in - -h | -\? | --help) - usage - exit 0 - ;; - -p | --pretend) - PRETEND=1 - ;; - *) - usage - echo "unrecognised option: $1" - ;; - esac - shift -done - -# load the gentoo-style info macros, but hack to get around -# it thinking this is an rc script -EBUILD="1" - -# /etc/init.d/functions.sh always points to the correct functions.sh no -# matter which version of baselayout -source /etc/init.d/functions.sh - -# misc helper functions -eloginfo() { - einfo $* - DATESTRING=`date +"%Y/%m/%d %H:%M:%S"` - (echo "${DATESTRING} - ${*}" >> ${LOGFILE}) 2>/dev/null -} - -elogecho() { - echo -n " " - echo $* - DATESTRING=`date +"%Y/%m/%d %H:%M:%S"` - (echo "${DATESTRING} - ${*}" >> ${LOGFILE}) 2>/dev/null -} - -elogerr() { - eerror $* - DATESTRING=`date +"%Y/%m/%d %H:%M:%S"` - (echo "${DATESTRING} ! ${*}" >> ${LOGFILE}) 2>/dev/null -} - -elog() { - DATESTRING=`date +"%Y/%m/%d %H:%M:%S"` - (echo "${DATESTRING} - ${*}" >> ${LOGFILE}) 2>/dev/null -} - -# -# Sanity check -# - -setup_portdir - -find_in_portdir() { - local f - for f in ${PORTDIR} ${PORTDIR_OVERLAYS}; do - if [[ -f "${f}/${1}" ]]; then - echo "${f}/${1}" - return 0 - fi - done - return 1 -} - -if [ -z "${PORTDIR}" ]; then - eerror "Unable to proceed. Can not find PORTDIR. Make sure the command:" - eerror " " - eerror " portageq portdir" - eerror " " - eerror "returns a value. If it doesn't, make sure you have updated to" - eerror "latest portage version." - eerror " " - eerror "Report bugs to http://bugs.gentoo.org/" - exit 1 -fi - -# -# -# Find all packages that have installed something in -# directories of the form -# /usr/lib/ghc-<version> -# or similar. -# -# /usr/lib/ghc-bin-<version> -# is included because an old ghc-bin ebuild was buggy and -# installed to a wrong dir. -# -OLD_PACKAGES_DIR="" -# Exclude new library dir and lib symlinks: -for d in /{usr,opt/ghc}/lib{,64}/ghc{,-bin}-*; do - [[ "${d}" == ${NEW_GHC_LIBDIR} ]] || [[ -L ${d%/*} ]] || OLD_PACKAGES_DIR="${OLD_PACKAGES_DIR}${d} " -done - -eloginfo "Starting GHC Updater to $(which ghc), version ${NEW_GHC_VER} :" -eloginfo "Searching for packages with files in the directories:" -eloginfo "${OLD_PACKAGES_DIR}" - -# iterate thru all the installed package's contents -for content in `find ${PKG_DBDIR} -name CONTENTS`; do - # extract the category, package name and package version - CATPKGVER=$(echo ${content} | sed "s:${PKG_DBDIR}/\(.*\)/CONTENTS:\1:") - - # exclude packages that are an exception, like portage and python itself. - exception=0 - for exp in ${PKGS_EXCEPTIONS}; do - if [ -n "$(echo ${CATPKGVER} | grep ${exp})" ]; then - exception=1 - break; - fi - done - - if [ ${exception} = 1 ]; then - continue; - fi - - for d in ${OLD_PACKAGES_DIR}; do - if fgrep "${d}/" ${content} > /dev/null; then - PKGS_TO_REMERGE="${PKGS_TO_REMERGE} ${CATPKGVER}" - elogecho "${CATPKGVER} has files in ${d}" - fi - done -done - -# now we have to do each emerge seperately because if an installed version -# does not have the corresponding ebuild in portage, then it will bail. - -eloginfo "Calculating Upgrade Package List .." - -PKGS_OK="" -PKGS_MASKED="" -PKGS_BLOCKED="" -PKGS_MISSING="" - -MASKED_STRING="been masked" -BLOCKED_STRING="is blocking" -MISSING_STRING='there are no ebuilds to satisfy' - -for pkg in ${PKGS_TO_REMERGE}; do - emerge_output="$(emerge -p '>='$pkg 2>&1)" - if $(echo "${emerge_output}" | grep "${MASKED_STRING}" > /dev/null); then - PKGS_MASKED="${PKGS_MASKED} $pkg" - elogecho ">=$pkg is masked" - elif $(echo "${emerge_output}" | grep "${BLOCKED_STRING}" > /dev/null); then - PKGS_BLOCKED="${PKGS_BLOCKED} $pkg" - elogecho ">=$pkg is blocked" - elif $(echo "${emerge_output}" | grep "${MISSING_STRING}" > /dev/null); then - PKGS_MISSING="${PKGS_MISSING} $pkg" - elogecho ">=$pkg is missing from portage" - else - PKGS_OK="${PKGS_OK} $pkg" - PKGS_COUNT_REMERGE=$((PKGS_COUNT_REMERGE + 1)) - fi -done - -# -# Use my super dumb package reordering algorithm that works most of the time -# - -eloginfo "Re-ordering packages to merge .." - -DEPSORT=$(find_in_portdir "dev-lang/ghc/files/depsort.py") -if [[ -z ${DEPSORT} ]]; then - eerror "Fatal error: File dev-lang/ghc/files/depsort.py not in portage tree." - exit 1 -fi -PKGS_OK_SORTED="$(${PORTAGE_PYTHON} ${DEPSORT} ${PKGS_OK} | xargs)" - -if [[ -n ${PRETEND} ]]; then - eloginfo "These are the packages that would be merged, in order:" -else - eloginfo "Preparing to merge these packages in this order:" -fi -for pkg in $PKGS_OK_SORTED; do - elogecho ">=$pkg" -done - -# we emerge each package seperately to ensure we know exactly which ones might -# cause an error, and then report it at the end - -COUNT=1 -PKGS_FAILED="" -if [ "${PRETEND}" != "1" ]; then - for pkg in ${PKGS_OK_SORTED}; do - eloginfo "Starting to merge ($COUNT/$PKGS_COUNT_REMERGE) $pkg .." - if ! emerge --oneshot --nodeps '>='$pkg; then - PKGS_FAILED="${PKGS_FAILED} $pkg" - elogerr "Failed merging $pkg ($COUNT/$PKGS_COUNT_REMERGE)!" - fi - COUNT=$((COUNT+1)) - done -fi - -# final output stuff -OUTPUT_PKGS_MASKED="" -for pkg in ${PKGS_MASKED}; do OUTPUT_PKGS_MASKED="${OUTPUT_PKGS_MASKED} '>='$pkg"; done -OUTPUT_PKGS_BLOCKED="" -for pkg in ${PKGS_BLOCKED}; do OUTPUT_PKGS_BLOCKED="${OUTPUT_PKGS_BLOCKED} $pkg"; done -OUTPUT_PKGS_MISSING="" -for pkg in ${PKGS_MISSING}; do OUTPUT_PKGS_MISSING="${OUTPUT_PKGS_MISSING} $pkg"; done -OUTPUT_PKGS_FAILED="" -for pkg in ${PKGS_FAILED}; do OUTPUT_PKGS_FAILED="${OUTPUT_PKGS_FAILED} '>='$pkg"; done - -if [ -n "${PKGS_FAILED}" -o -n "${PKGS_MISSING}" -o -n "${PKGS_MASKED}" ]; then - echo - ewarn "************************************************************" - ewarn "* Packages that still need to be manually emerged : *" - ewarn "************************************************************" - if [ -n "${OUTPUT_PKGS_MASKED}" ]; then - echo - ewarn " Masked Packages:" - ewarn " ----------------" - ewarn " Unmask the following packages (at your own risk) and " - ewarn " emerge them using this command after removing the '-p'" - ewarn " parameter." - echo - ewarn " emerge -p ${OUTPUT_PKGS_MASKED}" - echo - fi - if [ -n "${OUTPUT_PKGS_BLOCKED}" ]; then - echo - ewarn " Blocked Packages:" - ewarn " -----------------" - ewarn " These packages are currently blocked; they might not yet" - ewarn " be compatible with the current ghc. You can run ghc-updater" - ewarn " again at a later time." - echo - for x in ${OUTPUT_PKGS_BLOCKED}; do - echo " ${x}" - done - fi - if [ -n "${OUTPUT_PKGS_MISSING}" ]; then - echo - ewarn " Missing Packages:" - ewarn " -----------------" - ewarn " These packages cannot be updated because they do not exist" - ewarn " in portage anymore." - echo - for x in ${OUTPUT_PKGS_MISSING}; do - echo " ${x}" - done - fi - if [ -n "${OUTPUT_PKGS_FAILED}" ]; then - echo - ewarn " Failed Packages:" - ewarn " ----------------" - ewarn " These packages have failed and need to be re-emerged again." - ewarn " Alternatively, try re-running this script again to see if it" - ewarn " can be fixed." - echo - ewarn " emerge -p ${OUTPUT_PKGS_FAILED}" - echo - fi - - elog "GHC update completed with errors." - elog "Masked Packages:" - for x in ${PKGS_MASKED}; do - elog $x - done - elog "Missing Packages:" - for x in ${PKGS_MISSING}; do - elog $x - done - elog "Failed Packages:" - for x in ${PKGS_FAILED}; do - elog $x - done - elog "Update script completed." -else - eloginfo "GHC update completed successfully." -fi diff --git a/dev-lang/ghc/ghc-6.2.2.ebuild b/dev-lang/ghc/ghc-6.2.2.ebuild deleted file mode 100644 index 49d7421a73fd..000000000000 --- a/dev-lang/ghc/ghc-6.2.2.ebuild +++ /dev/null @@ -1,319 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.2.2.ebuild,v 1.30 2010/09/16 16:37:17 scarabeus 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. - -# 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. - -inherit base eutils flag-o-matic multilib toolchain-funcs ghc-package - -DESCRIPTION="The Glasgow Haskell Compiler" -HOMEPAGE="http://www.haskell.org/ghc/" - -SRC_URI="!binary? ( http://haskell.org/ghc/dist/${PV}/${P}-src.tar.bz2 ) - doc? ( mirror://gentoo/${P}-libraries.tar.gz - mirror://gentoo/${P}-users_guide.tar.gz ) - ppc? ( mirror://gentoo/ghc-bin-${PV}-r1-ppc.tbz2 ) - sparc? ( mirror://gentoo/ghc-bin-${PV}-r1-sparc.tbz2 ) - x86? ( mirror://gentoo/ghc-bin-${PV}-r1-x86.tbz2 )" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="-* ppc sparc x86" -IUSE="binary doc ghcbootstrap opengl" - -LOC="/opt/ghc" # location for installation of binary version - -RDEPEND=" - !dev-lang/ghc-bin - >=sys-devel/gcc-2.95.3 - >=sys-devel/binutils-2.17 - >=dev-lang/perl-5.6.1 - >=dev-libs/gmp-4.1 - =sys-libs/readline-5* - opengl? ( virtual/opengl - virtual/glu media-libs/freeglut )" - -DEPEND="${RDEPEND}" -# In the ghcbootstrap case we rely on the developer having -# >=ghc-5.04.3 on their $PATH already - -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 - filter-flags -fPIC - - 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 -} - -pkg_setup() { - if test $(gcc-major-version) -gt 3; then - eerror "ghc-6.2.2 does not work with gcc-4.x, only 3.x or older" - eerror "You can either use gcc-config to switch to gcc-3.x" - eerror "or you emerge '>=dev-lang/ghc-6.4' or later." - die "ghc-6.2.2 does not work with gcc-4.x, only 3.x or older" - fi - - 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." - use doc && \ - die "USE=\"ghcbootstrap doc\" is not a valid combination" - [[ -z $(type -P ghc) ]] && \ - die "Could not find a ghc to bootstrap with." - fi - - if use binary; then - if use opengl || use doc; then - ewarn "The binary build does not include the docs or OpenGL bindings" - ewarn "If you want those features, emerge with USE=\"-binary\"" - fi - fi - - set_config -} - -set_config() { - # make this a separate function and call it several times as portage doesn't - # remember the variables properly between the fuctions. - use binary && GHC_PREFIX="/opt/ghc" || GHC_PREFIX="/usr" -} - -src_unpack() { - # Create the ${S} dir if we're using the binary version - use binary && mkdir "${S}" - - base_src_unpack - source "${FILESDIR}/ghc-apply-gmp-hack" "$(get_libdir)" - - ghc_setup_cflags - - if use binary; then - - # Move unpacked files to the expected place - mv "${WORKDIR}/usr" "${S}" - - # Relocate from /usr to /opt/ghc - sed -i -e "s|/usr|${LOC}|g" \ - "${S}/usr/bin/ghc-${PV}" \ - "${S}/usr/bin/ghci-${PV}" \ - "${S}/usr/bin/ghc-pkg-${PV}" \ - "${S}/usr/bin/hsc2hs" \ - "${S}/usr/$(get_libdir)/${P}/package.conf" \ - || die "Relocating ghc from /usr to /opt/ghc failed" - - sed -i -e "s|/usr/$(get_libdir)|${LOC}/$(get_libdir)|" \ - "${S}/usr/bin/ghcprof" - - else - # Modify the ghc driver script to use GHC_CFLAGS - echo "SCRIPT_SUBST_VARS += GHC_CFLAGS" >> "${S}/ghc/driver/ghc/Makefile" - echo "GHC_CFLAGS = ${GHC_CFLAGS}" >> "${S}/ghc/driver/ghc/Makefile" - sed -i -e 's|$TOPDIROPT|$TOPDIROPT $GHC_CFLAGS|' "${S}/ghc/driver/ghc/ghc.sh" - - if ! use ghcbootstrap; then - # Relocate from /usr to ${WORKDIR}/usr - sed -i -e "s|/usr|${WORKDIR}/usr|g" \ - "${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" \ - || die "Relocating ghc from /usr to workdir failed" - fi - - # Patch to fix a mis-compilation in the rts due to strict aliasing, - # should be fixed upstream for 6.4.3 and 6.6. Fixes bug #135651. - echo 'GC_HC_OPTS += -optc-fno-strict-aliasing' >> "${S}/ghc/rts/Makefile" - - # Don't strip binaries on install. See QA warnings in bug #140369. - sed -i -e 's/SRC_INSTALL_BIN_OPTS += -s//' "${S}/mk/config.mk.in" - fi -} - -src_compile() { - if ! use binary; then - - # initialize build.mk - echo '# Gentoo changes' > 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 - echo "SRC_CC_OPTS+=${CFLAGS} -Wa,--noexecstack" >> mk/build.mk - - # We can't depend on haddock so we never build docs - # and we rely on pre-built ones instead - echo SGMLDocWays="" >> mk/build.mk - # needed to prevent haddock from being called - echo NO_HADDOCK_DOCS=YES >> mk/build.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+=-fno-warn-deprecations" >> mk/build.mk - - # Required for some architectures, because they don't support ghc fully ... - use ppc || use sparc && echo "SplitObjs=NO" >> mk/build.mk - use sparc && echo "GhcWithInterpreter=NO" >> mk/build.mk - - # Get ghc from the unpacked binary .tbz2 - # except when bootstrapping we just pick ghc up off the path - use ghcbootstrap || \ - export PATH="${WORKDIR}/usr/bin:${PATH}" - - # Note that --disable-hopengl actually enables it. We have to ommit - # the flag to disable opengl. - econf \ - $(use opengl && echo "--enable-hopengl") \ - || die "econf failed" - - # LC_ALL needs to workaround ghc's ParseCmm failure on some (es) locales - # bug #202212 / http://hackage.haskell.org/trac/ghc/ticket/4207 - # ghc-6.2.x build system does not support parallel make - LC_ALL=C emake -j1 datadir="/usr/share/doc/${P}" || die "make failed" - # the explicit datadir is required to make the haddock entries - # in the package.conf file point to the right place ... - - fi # ! use binary -} - -src_install() { - if use binary; then - mkdir "${D}/opt" - mv "${S}/usr" "${D}/opt/ghc" - - cp -p "${D}/${GHC_PREFIX}/$(get_libdir)/${P}/package.conf"{,.shipped} \ - || die "failed to copy package.conf" - - doenvd "${FILESDIR}/10ghc" - else - # the libdir0 setting is needed for amd64, and does not - # harm for other arches - #TODO: are any of these overrides still required? isn't econf enough? - emake -j1 install \ - prefix="${D}/usr" \ - datadir="${D}/usr/share/doc/${PF}" \ - infodir="${D}/usr/share/info" \ - mandir="${D}/usr/share/man" \ - libdir0="${D}/usr/$(get_libdir)" \ - || die "make install failed" - - cd "${S}/ghc" - dodoc README ANNOUNCE VERSION - - dosbin "${FILESDIR}/ghc-updater" - - cp -p "${D}/${GHC_PREFIX}/$(get_libdir)/${P}/package.conf"{,.shipped} \ - || die "failed to copy package.conf" - fi - - if use doc; then - docinto "html/libraries" - dohtml -A haddock -r "${WORKDIR}/libraries/"* \ - || die "installing library docs failed" - docinto "html/users_guide" - dohtml -r "${WORKDIR}/users_guide/"* \ - || die "installing user guide failed" - docinto "" - fi -} - -pkg_postinst () { - ghc-reregister - - if use binary; then - elog "The envirenment has been set to use the binary distribution of" - elog "GHC. In order to activate it please run:" - elog " env-update && source /etc/profile" - elog "Otherwise this setting will become active the next time you login" - fi - - ewarn "IMPORTANT:" - ewarn "If you have upgraded from another version of ghc or" - ewarn "if you have switched between binary and source versions" - ewarn "of ghc, please run:" - if use binary; then - ewarn " /opt/ghc/sbin/ghc-updater" - else - ewarn " /usr/sbin/ghc-updater" - fi - ewarn "to re-merge all ghc-based Haskell libraries." -} - -pkg_prerm() { - # Overwrite the (potentially) modified package.conf with a copy of the - # original one, so that it will be removed during uninstall. - - set_config # load GHC_PREFIX - - PKG="${ROOT}/${GHC_PREFIX}/$(get_libdir)/${P}/package.conf" - - cp -p "${PKG}"{.shipped,} - - [[ -f ${PKG}.old ]] && rm "${PKG}.old" -} diff --git a/dev-lang/ghc/ghc-6.4.2.ebuild b/dev-lang/ghc/ghc-6.4.2.ebuild deleted file mode 100644 index 5fd95294c441..000000000000 --- a/dev-lang/ghc/ghc-6.4.2.ebuild +++ /dev/null @@ -1,410 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.4.2.ebuild,v 1.31 2010/09/16 16:37:17 scarabeus 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. - -# 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. - -inherit base eutils flag-o-matic multilib toolchain-funcs autotools ghc-package - -DESCRIPTION="The Glasgow Haskell Compiler" -HOMEPAGE="http://www.haskell.org/ghc/" - -# discover if this is a snapshot release -IS_SNAPSHOT="${PV%%*pre*}" # zero if snapshot -MY_PV="${PV/_pre/.}" -MY_P="${PN}-${MY_PV}" -EXTRA_SRC_URI="${MY_PV}" -[[ -z "${IS_SNAPSHOT}" ]] && EXTRA_SRC_URI="stable/dist" - -SRC_URI="!binary? ( http://haskell.org/ghc/dist/${EXTRA_SRC_URI}/${MY_P}-src.tar.bz2 ) - doc? ( mirror://gentoo/${P}-libraries.tar.gz - mirror://gentoo/${P}-users_guide.tar.gz ) - alpha? ( mirror://gentoo/ghc-bin-${PV}-alpha.tbz2 ) - amd64? ( mirror://gentoo/ghc-bin-${PV}-amd64.tbz2 ) - ia64? ( mirror://gentoo/ghc-bin-${PV}-ia64.tbz2 ) - ppc? ( mirror://gentoo/ghc-bin-${PV}-ppc.tbz2 ) - ppc64? ( mirror://gentoo/ghc-bin-${PV}-ppc64.tbz2 ) - sparc? ( mirror://gentoo/ghc-bin-${PV}-sparc.tbz2 ) - x86? ( mirror://gentoo/ghc-bin-${PV}-x86.tbz2 ) - x86-fbsd? ( mirror://gentoo/ghc-bin-${PV}-x86-fbsd.tbz2 ) - test? ( http://haskell.org/ghc/dist/ghc-testsuite-${MY_PV}.tar.gz ) - mirror://gentoo/${P}-alut.patch.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha amd64 ~ia64 ppc ppc64 sparc x86 ~x86-fbsd" -IUSE="binary doc ghcbootstrap test X opengl openal" - -LOC="/opt/ghc" # location for installation of binary version -S="${WORKDIR}/${MY_P}" - -RDEPEND=" - !dev-lang/ghc-bin - >=sys-devel/gcc-2.95.3 - >=sys-devel/binutils-2.17 - >=dev-lang/perl-5.6.1 - >=dev-libs/gmp-4.1 - =sys-libs/readline-5* - X? ( x11-libs/libX11 ) - opengl? ( virtual/opengl - virtual/glu media-libs/freeglut - openal? ( media-libs/openal media-libs/freealut ) )" - -DEPEND="${RDEPEND}" -# In the ghcbootstrap case we rely on the developer having -# >=ghc-5.04.3 on their $PATH already - -PDEPEND=">=dev-haskell/cabal-1.1.4" - -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 - filter-flags -fPIC - - 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 - - # We also add -Wa,--noexecstack to get ghc to generate .o files with - # non-exectable stack. This it a hack until ghc does it itself properly. - append-ghc-cflags assemble "-Wa,--noexecstack" -} - -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." - use doc && \ - die "USE=\"ghcbootstrap doc\" is not a valid combination" - [[ -z $(type -P ghc) ]] && \ - die "Could not find a ghc to bootstrap with." - fi - - if use openal && ! use opengl; then - ewarn "The OpenAL bindings require the OpenGL bindings, however" - ewarn "USE=\"-opengl\" so the OpenAL bindings will not be built." - ewarn "To build the OpenAL bindings emerge with USE=\"openal opengl\"" - fi - - if use binary; then - if use opengl || use openal || use X || use test; then - ewarn "The binary build does not include the X, OpenGL" - ewarn "or OpenAL bindings and does not support the testsuite." - ewarn "If you want those features, emerge with USE=\"-binary\"" - fi - fi - - set_config -} - -set_config() { - # make this a separate function and call it several times as portage doesn't - # remember the variables properly between the fuctions. - use binary && GHC_PREFIX="/opt/ghc" || GHC_PREFIX="/usr" -} - -src_unpack() { - # Create the ${S} dir if we're using the binary version - use binary && mkdir "${S}" - - base_src_unpack - source "${FILESDIR}/ghc-apply-gmp-hack" "$(get_libdir)" - - ghc_setup_cflags - - if use binary; then - - # Move unpacked files to the expected place - mv "${WORKDIR}/usr" "${S}" - - # Relocate from /usr to /opt/ghc - sed -i -e "s|/usr|${LOC}|g" \ - "${S}/usr/bin/ghc-${PV}" \ - "${S}/usr/bin/ghci-${PV}" \ - "${S}/usr/bin/ghc-pkg-${PV}" \ - "${S}/usr/bin/hsc2hs" \ - "${S}/usr/$(get_libdir)/${P}/package.conf" \ - || die "Relocating ghc from /usr to /opt/ghc failed" - - # fix docs - if use doc; then - # correct the documentation and .haddock files path - sed -i -e \ - "s|/opt/ghc/share/doc/${P}/html/libraries|/usr/share/doc/${P}/html/libraries|g" \ - "${S}/usr/$(get_libdir)/${P}/package.conf" - else - # remove all doc stuff from package.conf - sed -i \ - -e 's|haddockInterfaces = \[[^]]*\]|haddockInterfaces = \[\]|g' \ - -e "s|haddockHTMLs = \[[^]]*\]|haddockHTMLs = \[\]|g" \ - "${S}/usr/$(get_libdir)/${P}/package.conf" - fi - - sed -i -e "s|/usr/$(get_libdir)|${LOC}/$(get_libdir)|" \ - "${S}/usr/bin/ghcprof" - - else - - cd "${S}" - epatch "${WORKDIR}/${P}-alut.patch" - epatch "${FILESDIR}/${P}-sparc32plus.patch" - epatch "${FILESDIR}/${P}-sparcmangler.patch" - - # Modify the ghc driver script to use GHC_CFLAGS - echo "SCRIPT_SUBST_VARS += GHC_CFLAGS" >> "${S}/ghc/driver/ghc/Makefile" - echo "GHC_CFLAGS = ${GHC_CFLAGS}" >> "${S}/ghc/driver/ghc/Makefile" - sed -i -e 's|$TOPDIROPT|$TOPDIROPT $GHC_CFLAGS|' "${S}/ghc/driver/ghc/ghc.sh" - - if ! use ghcbootstrap; then - # Relocate from /usr to ${WORKDIR}/usr - sed -i -e "s|/usr|${WORKDIR}/usr|g" \ - "${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" \ - || die "Relocating ghc from /usr to workdir failed" - fi - - # If we're using the testsuite then move it to into the build tree - use test && mv "${WORKDIR}/testsuite" "${S}/" - - # Patch to fix a mis-compilation in the rts due to strict aliasing, - # should be fixed upstream for 6.4.3 and 6.6. Fixes bug #135651. - echo 'GC_HC_OPTS += -optc-fno-strict-aliasing' >> "${S}/ghc/rts/Makefile" - - # Don't strip binaries on install. See QA warnings in bug #140369. - sed -i -e 's/SRC_INSTALL_BIN_OPTS += -s//' "${S}/mk/config.mk.in" - fi -} - -src_compile() { - if ! use binary; then - - # initialize build.mk - echo '# Gentoo changes' > 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 - echo "SRC_CC_OPTS+=${CFLAGS} -Wa,--noexecstack" >> mk/build.mk - - # If you need to do a quick build then enable this bit and add debug to IUSE - #if use debug; then - # echo "SRC_HC_OPTS = -H32m -O -fasm" >> mk/build.mk - # echo "GhcLibHcOpts =" >> mk/build.mk - # echo "GhcLibWays =" >> mk/build.mk - # echo "SplitObjs = NO" >> mk/build.mk - #fi - - # We can't depend on haddock so we never build docs - # and we rely on pre-built ones instead - echo SGMLDocWays="" >> mk/build.mk - # needed to prevent haddock from being called - echo NO_HADDOCK_DOCS=YES >> mk/build.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+=-fno-warn-deprecations" >> mk/build.mk - - # And some arches used to work ok, but bork with recent gcc versions - # See bug #145466 for ppc64. - if use ia64 || use ppc64; then - echo "GhcUnregisterised=YES" >> mk/build.mk - echo "GhcWithNativeCodeGen=NO" >> mk/build.mk - echo "GhcWithInterpreter=NO" >> mk/build.mk - echo "SplitObjs=NO" >> mk/build.mk - echo "GhcRTSWays := debug" >> mk/build.mk - fi - - # We've patched some configure.ac files to fix the OpenAL/ALUT bindings. - # So we need to autoreconf. - eautoreconf - - # Get ghc from the unpacked binary .tbz2 - # except when bootstrapping we just pick ghc up off the path - use ghcbootstrap || \ - export PATH="${WORKDIR}/usr/bin:${PATH}" - - econf \ - $(use_enable opengl opengl) \ - $(use_enable opengl glut) \ - $(use openal && use opengl \ - && echo --enable-openal --enable-alut \ - || echo --disable-openal --disable-alut) \ - $(use_enable X x11) \ - $(use_enable X hgl) \ - || die "econf failed" - - # 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 all datadir="/usr/share/doc/${P}" || die "make failed" - # the explicit datadir is required to make the haddock entries - # in the package.conf file point to the right place ... - - fi # ! use binary -} - -src_install() { - if use binary; then - mkdir "${D}/opt" - mv "${S}/usr" "${D}/opt/ghc" - - cp -p "${D}/${GHC_PREFIX}/$(get_libdir)/${P}/package.conf"{,.shipped} \ - || die "failed to copy package.conf" - - doenvd "${FILESDIR}/10ghc" - else - # the libdir0 setting is needed for amd64, and does not - # harm for other arches - #TODO: are any of these overrides still required? isn't econf enough? - emake -j1 install \ - prefix="${D}/usr" \ - datadir="${D}/usr/share/doc/${PF}" \ - infodir="${D}/usr/share/info" \ - mandir="${D}/usr/share/man" \ - libdir0="${D}/usr/$(get_libdir)" \ - || die "make install failed" - - cd "${S}/ghc" - dodoc README ANNOUNCE VERSION - - dosbin "${FILESDIR}/ghc-updater" - - cp -p "${D}/${GHC_PREFIX}/$(get_libdir)/${P}/package.conf"{,.shipped} \ - || die "failed to copy package.conf" - fi - - if use doc; then - docinto "html/libraries" - dohtml -A haddock -r "${WORKDIR}/libraries/"* \ - || die "installing library docs failed" - docinto "html/users_guide" - dohtml -r "${WORKDIR}/users_guide/"* \ - || die "installing user guide failed" - docinto "" - fi -} - -pkg_postinst () { - ebegin "Unregistering ghc's built-in cabal " - $(ghc-getghcpkg) unregister Cabal > /dev/null - eend $? - ghc-reregister - - if use binary; then - elog "The envirenment has been set to use the binary distribution of" - elog "GHC. In order to activate it please run:" - elog " env-update && source /etc/profile" - elog "Otherwise this setting will become active the next time you login" - fi - - ewarn "IMPORTANT:" - ewarn "If you have upgraded from another version of ghc or" - ewarn "if you have switched between binary and source versions" - ewarn "of ghc, please run:" - if use binary; then - ewarn " /opt/ghc/sbin/ghc-updater" - else - ewarn " /usr/sbin/ghc-updater" - fi - ewarn "to re-merge all ghc-based Haskell libraries." -} - -pkg_prerm() { - # Overwrite the (potentially) modified package.conf with a copy of the - # original one, so that it will be removed during uninstall. - - set_config # load GHC_PREFIX - - PKG="${ROOT}/${GHC_PREFIX}/$(get_libdir)/${P}/package.conf" - - cp -p "${PKG}"{.shipped,} - - [[ -f ${PKG}.old ]] && rm "${PKG}.old" -} - -src_test() { - if use test; then - local summary - summary="${T}/testsuite-summary.txt" - - make -C "${S}/testsuite/" boot || die "Preparing the testsuite failed" - make -C "${S}/testsuite/tests/ghc-regress" \ - TEST_HC="${S}/ghc/compiler/stage2/ghc-inplace" \ - EXTRA_RUNTEST_OPTS="--output-summary=${summary}" - - if grep -q ' 0 unexpected failures' "${summary}"; then - einfo "All tests passed ok" - else - ewarn "Some tests failed, for a summary see: ${summary}" - fi - else - ewarn "Sadly, due to some portage limitations you need both" - ewarn "USE=test and FEATURES=test to run the ghc testsuite" - fi -} diff --git a/dev-lang/ghc/ghc-6.6.1.ebuild b/dev-lang/ghc/ghc-6.6.1.ebuild deleted file mode 100644 index 6114b1abceb1..000000000000 --- a/dev-lang/ghc/ghc-6.6.1.ebuild +++ /dev/null @@ -1,370 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.6.1.ebuild,v 1.21 2010/07/21 21:49:33 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. - -# 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. - -inherit base bash-completion eutils flag-o-matic multilib toolchain-funcs ghc-package versionator - -DESCRIPTION="The Glasgow Haskell Compiler" -HOMEPAGE="http://www.haskell.org/ghc/" - -# discover if this is a snapshot release -IS_SNAPSHOT="${PV%%*pre*}" # zero if snapshot -MY_PV="${PV/_pre/.}" -MY_P="${PN}-${MY_PV}" -EXTRA_SRC_URI="${MY_PV}" -[[ -z "${IS_SNAPSHOT}" ]] && EXTRA_SRC_URI="current/dist" - -SRC_URI="!binary? ( http://haskell.org/ghc/dist/${EXTRA_SRC_URI}/${MY_P}-src.tar.bz2 ) - alpha? ( mirror://gentoo/ghc-bin-${PV}-alpha.tbz2 ) - amd64? ( mirror://gentoo/ghc-bin-${PV}-amd64.tbz2 ) - ia64? ( mirror://gentoo/ghc-bin-${PV}-ia64.tbz2 ) - ppc? ( mirror://gentoo/ghc-bin-${PV}-ppc.tbz2 ) - sparc? ( mirror://gentoo/ghc-bin-${PV}-sparc.tbz2 ) - x86? ( mirror://gentoo/ghc-bin-${PV}-x86.tbz2 )" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha amd64 ~ia64 ppc sparc x86" -IUSE="binary doc ghcbootstrap" - -LOC="/opt/ghc" # location for installation of binary version -S="${WORKDIR}/${MY_P}" - -RDEPEND=" - !dev-lang/ghc-bin - >=sys-devel/gcc-2.95.3 - >=sys-devel/binutils-2.17 - >=dev-lang/perl-5.6.1 - >=dev-libs/gmp-4.1 - =sys-libs/readline-5*" - -DEPEND="${RDEPEND} - ghcbootstrap? ( doc? ( ~app-text/docbook-xml-dtd-4.2 - app-text/docbook-xsl-stylesheets - >=dev-libs/libxslt-1.1.2 - >=dev-haskell/haddock-0.8 ) )" -# In the ghcbootstrap case we rely on the developer having -# >=ghc-5.04.3 on their $PATH already - -PDEPEND=">=dev-haskell/cabal-1.1.6.2 - >=dev-haskell/regex-base-0.72 - >=dev-haskell/regex-posix-0.71 - >=dev-haskell/regex-compat-0.71" - -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 - filter-flags -fPIC - - 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 - - # We also add -Wa,--noexecstack to get ghc to generate .o files with - # non-exectable stack. This it a hack until ghc does it itself properly. - append-ghc-cflags assemble "-Wa,--noexecstack" -} - -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." - elif use ppc64; then - eerror "No binary .tbz2 package available yet for these arches:" - eerror " ppc64" - 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 this arch yet, USE=ghcbootstrap" - fi - - set_config -} - -set_config() { - # make this a separate function and call it several times as portage doesn't - # remember the variables properly between the fuctions. - use binary && GHC_PREFIX="/opt/ghc" || GHC_PREFIX="/usr" -} - -src_unpack() { - # Create the ${S} dir if we're using the binary version - use binary && mkdir "${S}" - - base_src_unpack - source "${FILESDIR}/ghc-apply-gmp-hack" "$(get_libdir)" - - ghc_setup_cflags - - if use binary; then - - # Move unpacked files to the expected place - mv "${WORKDIR}/usr" "${S}" - - # Relocate from /usr to /opt/ghc - sed -i -e "s|/usr|${LOC}|g" \ - "${S}/usr/bin/ghc-${PV}" \ - "${S}/usr/bin/ghci-${PV}" \ - "${S}/usr/bin/ghc-pkg-${PV}" \ - "${S}/usr/bin/hsc2hs" \ - "${S}/usr/$(get_libdir)/${P}/package.conf" \ - || die "Relocating ghc from /usr to /opt/ghc failed" - - sed -i -e "s|/usr/$(get_libdir)|${LOC}/$(get_libdir)|" \ - "${S}/usr/bin/ghcprof" - - else - - # Modify the ghc driver script to use GHC_CFLAGS - echo "SCRIPT_SUBST_VARS += GHC_CFLAGS" >> "${S}/driver/ghc/Makefile" - echo "GHC_CFLAGS = ${GHC_CFLAGS}" >> "${S}/driver/ghc/Makefile" - sed -i -e 's|$TOPDIROPT|$TOPDIROPT $GHC_CFLAGS|' "${S}/driver/ghc/ghc.sh" - - if ! use ghcbootstrap; then - # Relocate from /usr to ${WORKDIR}/usr - sed -i -e "s|/usr|${WORKDIR}/usr|g" \ - "${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" \ - || die "Relocating ghc from /usr to workdir failed" - fi - - # If we're using the testsuite then move it to into the build tree - # use test && mv "${WORKDIR}/testsuite" "${S}/" - - # Don't strip binaries on install. See QA warnings in bug #140369. - sed -i -e 's/SRC_INSTALL_BIN_OPTS += -s//' "${S}/mk/config.mk.in" - - # Temporary patches that needs testing before being pushed upstream: - cd "${S}" - # Fix sparc split-objs linking problem - epatch "${FILESDIR}/ghc-6.5-norelax.patch" - - fi -} - -src_compile() { - if ! use binary; then - - # initialize build.mk - echo '# Gentoo changes' > 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 - echo "SRC_CC_OPTS+=${CFLAGS} -Wa,--noexecstack" >> mk/build.mk - - # If you need to do a quick build then enable this bit and add debug to IUSE - #if use debug; then - # echo "SRC_HC_OPTS = -H32m -O -fasm" >> mk/build.mk - # echo "GhcLibHcOpts =" >> mk/build.mk - # echo "GhcLibWays =" >> mk/build.mk - # echo "SplitObjs = NO" >> mk/build.mk - #fi - - # 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 XMLDocWays="html" >> mk/build.mk - else - echo XMLDocWays="" >> mk/build.mk - # needed to prevent haddock from being called - echo NO_HADDOCK_DOCS=YES >> 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+=-fno-warn-deprecations" >> mk/build.mk - - # GHC build system knows to build unregisterised on alpha, - # but we have to tell it to build unregisterised on some arches - if use alpha || use ppc64 || use sparc; then - echo "GhcUnregisterised=YES" >> mk/build.mk - echo "GhcWithInterpreter=NO" >> mk/build.mk - fi - if use alpha || use ppc64 || use sparc; then - 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 - - # GHC <6.8 doesn't support GCC >=4.2, split objects fails. - if version_is_at_least "4.2" "$(gcc-version)"; 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 - use ghcbootstrap || \ - export PATH="${WORKDIR}/usr/bin:${PATH}" - - econf || die "econf failed" - - # 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 all datadir="/usr/share/doc/${P}" || die "make failed" - # the explicit datadir is required to make the haddock entries - # in the package.conf file point to the right place ... - - fi # ! use binary -} - -src_install() { - if use binary; then - mkdir "${D}/opt" - mv "${S}/usr" "${D}/opt/ghc" - - # Remove the docs if not requested - if ! use doc; then - rm -rf "${D}/opt/ghc/share/doc/${P}/html" \ - || die "could not remove docs (P vs PF revision mismatch?)" - fi - - # TODO: this will not be necessary after version 6.6.1 since the .tbz2 - # packages will have been regenerated with package.conf.shipped files. - cp -p "${D}/${GHC_PREFIX}/$(get_libdir)/${P}/package.conf"{,.shipped} \ - || die "failed to copy package.conf" - - doenvd "${FILESDIR}/10ghc" - 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 - insttarget="${insttarget} install-docs" - else - dohtml -A haddock -r "${WORKDIR}/usr/share/doc/${P}/html/"* - fi - fi - - # the libdir0 setting is needed for amd64, and does not - # harm for other arches - #TODO: are any of these overrides still required? isn't econf enough? - emake -j1 ${insttarget} \ - prefix="${D}/usr" \ - datadir="${D}/usr/share/doc/${P}" \ - infodir="${D}/usr/share/info" \ - mandir="${D}/usr/share/man" \ - libdir0="${D}/usr/$(get_libdir)" \ - || die "make ${insttarget} failed" - - cd "${S}" - dodoc README ANNOUNCE VERSION - - dosbin "${FILESDIR}/ghc-updater" - - dobashcompletion "${FILESDIR}/ghc-bash-completion" - - cp -p "${D}/${GHC_PREFIX}/$(get_libdir)/${P}/package.conf"{,.shipped} \ - || die "failed to copy package.conf" - fi -} - -pkg_postinst() { - ghc-reregister - - if use binary; then - elog "The envirenment has been set to use the binary distribution of" - elog "GHC. In order to activate it please run:" - elog " env-update && source /etc/profile" - elog "Otherwise this setting will become active the next time you login" - fi - - ewarn "IMPORTANT:" - ewarn "If you have upgraded from another version of ghc or" - ewarn "if you have switched between binary and source versions" - ewarn "of ghc, please run:" - if use binary; then - ewarn " /opt/ghc/sbin/ghc-updater" - else - ewarn " /usr/sbin/ghc-updater" - fi - ewarn "to re-merge all ghc-based Haskell libraries." - - bash-completion_pkg_postinst -} - -pkg_prerm() { - # Overwrite the (potentially) modified package.conf with a copy of the - # original one, so that it will be removed during uninstall. - - set_config # load GHC_PREFIX - - PKG="${ROOT}/${GHC_PREFIX}/$(get_libdir)/${P}/package.conf" - - cp -p "${PKG}"{.shipped,} - - [[ -f ${PKG}.old ]] && rm "${PKG}.old" -} diff --git a/dev-lang/ghc/ghc-6.6.ebuild b/dev-lang/ghc/ghc-6.6.ebuild deleted file mode 100644 index 0c3db64e1f3d..000000000000 --- a/dev-lang/ghc/ghc-6.6.ebuild +++ /dev/null @@ -1,327 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.6.ebuild,v 1.18 2010/07/21 21:49:33 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. - -# 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. - -inherit base eutils flag-o-matic multilib toolchain-funcs ghc-package versionator - -DESCRIPTION="The Glasgow Haskell Compiler" -HOMEPAGE="http://www.haskell.org/ghc/" - -# discover if this is a snapshot release -IS_SNAPSHOT="${PV%%*pre*}" # zero if snapshot -MY_PV="${PV/_pre/.}" -MY_P="${PN}-${MY_PV}" -EXTRA_SRC_URI="${MY_PV}" -[[ -z "${IS_SNAPSHOT}" ]] && EXTRA_SRC_URI="current/dist" - -SRC_URI="!binary? ( http://haskell.org/ghc/dist/${EXTRA_SRC_URI}/${MY_P}-src.tar.bz2 ) - doc? ( mirror://gentoo/${P}-libraries.tar.gz - mirror://gentoo/${P}-users_guide.tar.gz ) - alpha? ( mirror://gentoo/ghc-bin-${PV}-alpha.tbz2 ) - amd64? ( mirror://gentoo/ghc-bin-${PV}-amd64.tbz2 ) - ppc? ( mirror://gentoo/ghc-bin-${PV}-ppc.tbz2 ) - sparc? ( mirror://gentoo/ghc-bin-${PV}-sparc.tbz2 ) - x86? ( mirror://gentoo/ghc-bin-${PV}-x86.tbz2 )" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86" -#KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" -IUSE="binary doc ghcbootstrap" - -LOC="/opt/ghc" # location for installation of binary version -S="${WORKDIR}/${MY_P}" - -RDEPEND=" - !dev-lang/ghc-bin - >=sys-devel/gcc-2.95.3 - >=sys-devel/binutils-2.17 - >=dev-lang/perl-5.6.1 - >=dev-libs/gmp-4.1 - =sys-libs/readline-5*" - -DEPEND="${RDEPEND}" -# In the ghcbootstrap case we rely on the developer having -# >=ghc-5.04.3 on their $PATH already - -PDEPEND=">=dev-haskell/cabal-1.1.6.1" - -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 - filter-flags -fPIC - - 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 - - # We also add -Wa,--noexecstack to get ghc to generate .o files with - # non-exectable stack. This it a hack until ghc does it itself properly. - append-ghc-cflags assemble "-Wa,--noexecstack" -} - -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." - use doc && \ - die "USE=\"ghcbootstrap doc\" 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}" - - base_src_unpack - source "${FILESDIR}/ghc-apply-gmp-hack" "$(get_libdir)" - - ghc_setup_cflags - - if use binary; then - - # Move unpacked files to the expected place - mv "${WORKDIR}/usr" "${S}" - - # Relocate from /usr to /opt/ghc - sed -i -e "s|/usr|${LOC}|g" \ - "${S}/usr/bin/ghc-${PV}" \ - "${S}/usr/bin/ghci-${PV}" \ - "${S}/usr/bin/ghc-pkg-${PV}" \ - "${S}/usr/bin/hsc2hs" \ - "${S}/usr/$(get_libdir)/${P}/package.conf" \ - || die "Relocating ghc from /usr to /opt/ghc failed" - - sed -i -e "s|/usr/$(get_libdir)|${LOC}/$(get_libdir)|" \ - "${S}/usr/bin/ghcprof" - - else - - # Modify the ghc driver script to use GHC_CFLAGS - echo "SCRIPT_SUBST_VARS += GHC_CFLAGS" >> "${S}/driver/ghc/Makefile" - echo "GHC_CFLAGS = ${GHC_CFLAGS}" >> "${S}/driver/ghc/Makefile" - sed -i -e 's|$TOPDIROPT|$TOPDIROPT $GHC_CFLAGS|' "${S}/driver/ghc/ghc.sh" - - if ! use ghcbootstrap; then - # Relocate from /usr to ${WORKDIR}/usr - sed -i -e "s|/usr|${WORKDIR}/usr|g" \ - "${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" \ - || die "Relocating ghc from /usr to workdir failed" - fi - - # If we're using the testsuite then move it to into the build tree - # use test && mv "${WORKDIR}/testsuite" "${S}/" - - # Don't strip binaries on install. See QA warnings in bug #140369. - sed -i -e 's/SRC_INSTALL_BIN_OPTS += -s//' "${S}/mk/config.mk.in" - - # Temporary patches that needs testing before being pushed upstream: - cd "${S}" - # Fix sparc split-objs linking problem - epatch "${FILESDIR}/ghc-6.5-norelax.patch" - - # Disable threaded runtime build to work around RTS bugs on sparc - epatch "${FILESDIR}/ghc-6.6-nothreadedrts.patch" - - fi -} - -src_compile() { - if ! use binary; then - - # initialize build.mk - echo '# Gentoo changes' > 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 - echo "SRC_CC_OPTS+=${CFLAGS} -Wa,--noexecstack" >> mk/build.mk - - # If you need to do a quick build then enable this bit and add debug to IUSE - #if use debug; then - # echo "SRC_HC_OPTS = -H32m -O -fasm" >> mk/build.mk - # echo "GhcLibHcOpts =" >> mk/build.mk - # echo "GhcLibWays =" >> mk/build.mk - # echo "SplitObjs = NO" >> mk/build.mk - #fi - - # We can't depend on haddock so we never build docs - # and we rely on pre-built ones instead - echo XMLDocWays="" >> mk/build.mk - # needed to prevent haddock from being called - echo NO_HADDOCK_DOCS=YES >> mk/build.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+=-fno-warn-deprecations" >> mk/build.mk - - # GHC build system knows to build unregisterised on alpha, - # but we have to tell it to build unregisterised on some other arches - if use ia64 || use ppc64 || use sparc; then - echo "GhcUnregisterised=YES" >> mk/build.mk - echo "GhcWithNativeCodeGen=NO" >> mk/build.mk - echo "GhcWithInterpreter=NO" >> mk/build.mk - echo "SplitObjs=NO" >> mk/build.mk - echo "GhcRTSWays := debug" >> mk/build.mk - echo "GhcNotThreaded=YES" >> mk/build.mk - fi - - # GHC <6.8 doesn't support GCC >=4.2, split objects fails. - if version_is_at_least "4.2" "$(gcc-version)"; 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 - use ghcbootstrap || \ - export PATH="${WORKDIR}/usr/bin:${PATH}" - - econf || die "econf failed" - - # 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 all datadir="/usr/share/doc/${P}" || die "make failed" - # the explicit datadir is required to make the haddock entries - # in the package.conf file point to the right place ... - - fi # ! use binary -} - -src_install() { - if use binary; then - mkdir "${D}/opt" - mv "${S}/usr" "${D}/opt/ghc" - - doenvd "${FILESDIR}/10ghc" - else - # the libdir0 setting is needed for amd64, and does not - # harm for other arches - #TODO: are any of these overrides still required? isn't econf enough? - emake -j1 install \ - prefix="${D}/usr" \ - datadir="${D}/usr/share/doc/${PF}" \ - infodir="${D}/usr/share/info" \ - mandir="${D}/usr/share/man" \ - libdir0="${D}/usr/$(get_libdir)" \ - || die "make install failed" - - cd "${S}" - dodoc README ANNOUNCE VERSION - - dosbin "${FILESDIR}/ghc-updater" - fi - - if use doc; then - dohtml -r "${WORKDIR}/libraries/"* \ - || die "installing library docs failed" - dohtml -r "${WORKDIR}/users_guide/"* \ - || die "installing user guide failed" - fi -} - -pkg_postinst() { - ebegin "Hiding ghc's built-in cabal " - $(ghc-getghcpkg) hide Cabal > /dev/null - eend $? - ghc-reregister - elog "If you have dev-lang/ghc-bin installed, you might" - elog "want to unmerge it. It is no longer needed." - elog - - if use binary; then - elog "The envirenment has been set to use the binary distribution of" - elog "GHC. In order to activate it please run:" - elog " env-update && source /etc/profile" - elog "Otherwise this setting will become active the next time you login" - fi - - ewarn "IMPORTANT:" - ewarn "If you have upgraded from another version of ghc or" - ewarn "if you have switched between binary and source versions" - ewarn "of ghc, please run:" - if use binary; then - ewarn " /opt/ghc/sbin/ghc-updater" - else - ewarn " /usr/sbin/ghc-updater" - fi - ewarn "to re-merge all ghc-based Haskell libraries." -} - -pkg_prerm() { - # Delete the GHC package database - use binary && GHC_PREFIX="${ROOT}opt/ghc" || GHC_PREFIX="${ROOT}usr" - GHC_PKG_DB="${GHC_PREFIX}/$(get_libdir)/${P}/package.conf" - rm -f ${GHC_PKG_DB} ${GHC_PKG_DB}.old -} diff --git a/dev-lang/ghc/ghc-6.8.2-r1.ebuild b/dev-lang/ghc/ghc-6.8.2-r1.ebuild deleted file mode 100644 index ac257a4e5030..000000000000 --- a/dev-lang/ghc/ghc-6.8.2-r1.ebuild +++ /dev/null @@ -1,275 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.8.2-r1.ebuild,v 1.5 2010/07/21 21:49:33 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. - -inherit base bash-completion eutils flag-o-matic multilib toolchain-funcs ghc-package versionator - -DESCRIPTION="The Glasgow Haskell Compiler" -HOMEPAGE="http://www.haskell.org/ghc/" - -# discover if this is a snapshot release -IS_SNAPSHOT="$(get_version_component_range 4)" # non-empty if snapshot -EXTRA_SRC_URI="${PV}" -[[ "${IS_SNAPSHOT}" ]] && EXTRA_SRC_URI="stable/dist" - -# by using a bundled precompiled readline library we can use the bundled ghc -# binary to bootstrap, even if it was linked with libreadline-5 and the user has -# upgraded to libreadline-6. -READLINE_PV="5.2_p13" -READLINE_P="readline-${READLINE_PV}" - -SRC_URI="http://haskell.org/ghc/dist/${EXTRA_SRC_URI}/${P}-src.tar.bz2 - amd64? ( mirror://gentoo/ghc-bin-${PV}-amd64.tbz2 - http://haskell.org/~kolmodin/ghc-bundled-${READLINE_P}-amd64.tbz2 ) - x86? ( mirror://gentoo/ghc-bin-${PV}-x86.tbz2 - http://haskell.org/~kolmodin/ghc-bundled-${READLINE_P}-x86.tbz2 )" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="doc ghcbootstrap" - -RDEPEND=" - !dev-lang/ghc-bin - >=sys-devel/gcc-2.95.3 - >=sys-devel/binutils-2.17 - >=dev-lang/perl-5.6.1 - >=dev-libs/gmp-4.1 - >=sys-libs/readline-5" - -DEPEND="${RDEPEND} - ghcbootstrap? ( doc? ( ~app-text/docbook-xml-dtd-4.2 - app-text/docbook-xsl-stylesheets - >=dev-libs/libxslt-1.1.2 - >=dev-haskell/haddock-0.8 ) )" -# In the ghcbootstrap case we rely on the developer having -# >=ghc-5.04.3 on their $PATH already - -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 - filter-flags -fPIC - - 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 - - # We also add -Wa,--noexecstack to get ghc to generate .o files with - # non-exectable stack. This it a hack until ghc does it itself properly. - append-ghc-cflags assemble "-Wa,--noexecstack" -} - -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." - [[ -z $(type -P ghc) ]] && \ - die "Could not find a ghc to bootstrap with." - fi -} - -src_unpack() { - base_src_unpack - source "${FILESDIR}/ghc-apply-gmp-hack" "$(get_libdir)" - - ghc_setup_cflags - - # Modify the ghc driver script to use GHC_CFLAGS - sed -i -e "s|\$\$TOPDIROPT|\$\$TOPDIROPT ${GHC_CFLAGS}|" \ - "${S}/driver/ghc/Makefile" - - if ! use ghcbootstrap; then - # Relocate from /usr to ${WORKDIR}/usr - sed -i -e "s|/usr|${WORKDIR}/usr|g" \ - "${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" \ - || die "Relocating ghc from /usr to workdir failed" - fi -} - -src_compile() { - # find where the .so for readline-5 lives - # could either be /lib or /lib64 - for lib_path in lib{,64} ; do - if [[ -e "${WORKDIR}/${lib_path}/libreadline.so" ]]; then - # make sure ghc will find readline - export LD_LIBRARY_PATH="${WORKDIR}/${lib_path}:${LD_LIBRARY_PATH}" - export FOUND_READLINE=yes - fi - done - - if [[ -z "${FOUND_READLINE}" ]]; then - die "Could not locate bundled libreadline.so" - else - einfo "Found readline: ${LD_LIBRARY_PATH}" - fi - - # initialize build.mk - echo '# Gentoo changes' > mk/build.mk - - # Put docs into the right place, ie /usr/share/doc/ghc-${PV} - echo "docdir = /usr/share/doc/${P}" >> mk/build.mk - echo "htmldir = /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 - echo "SRC_CC_OPTS+=${CFLAGS} -Wa,--noexecstack" >> 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 XMLDocWays="html" >> mk/build.mk - echo HADDOCK_DOCS=YES >> mk/build.mk - else - echo XMLDocWays="" >> 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 - - # GHC build system knows to build unregisterised on alpha, - # but we have to tell it to build unregisterised on some arches - if use alpha || use ia64 || use ppc64 || use sparc; then - echo "GhcUnregisterised=YES" >> mk/build.mk - echo "GhcWithInterpreter=NO" >> 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 - - # 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" - - # 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 all || die "make failed" -} - -src_install() { - 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 - insttarget="${insttarget} install-docs" - else - mkdir -p "${D}/usr/share/doc" - mv "${WORKDIR}/usr/share/doc/${P}" "${D}/usr/share/doc" \ - || die "failed to copy docs" - fi - fi - - emake -j1 ${insttarget} \ - DESTDIR="${D}" \ - || die "make ${insttarget} failed" - - dodoc "${S}/README" "${S}/ANNOUNCE" "${S}/LICENSE" "${S}/VERSION" - - dosbin "${FILESDIR}/ghc-updater" - - dobashcompletion "${FILESDIR}/ghc-bash-completion" - - cp -p "${D}/usr/$(get_libdir)/${P}/package.conf"{,.shipped} \ - || die "failed to copy package.conf" -} - -pkg_postinst() { - ghc-reregister - - ewarn "IMPORTANT:" - ewarn "If you have upgraded from another version of ghc, please run:" - ewarn " /usr/sbin/ghc-updater" - ewarn "to re-merge all ghc-based Haskell libraries." - - bash-completion_pkg_postinst -} - -pkg_prerm() { - # Overwrite the (potentially) modified package.conf with a copy of the - # original one, so that it will be removed during uninstall. - - PKG="${ROOT}/usr/$(get_libdir)/${P}/package.conf" - - cp -p "${PKG}"{.shipped,} - - [[ -f ${PKG}.old ]] && rm "${PKG}.old" -} diff --git a/dev-lang/ghc/ghc-6.8.2.ebuild b/dev-lang/ghc/ghc-6.8.2.ebuild deleted file mode 100644 index 52114a3646af..000000000000 --- a/dev-lang/ghc/ghc-6.8.2.ebuild +++ /dev/null @@ -1,282 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.8.2.ebuild,v 1.16 2010/07/21 21:49:33 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. - -inherit base bash-completion eutils flag-o-matic multilib toolchain-funcs ghc-package versionator - -DESCRIPTION="The Glasgow Haskell Compiler" -HOMEPAGE="http://www.haskell.org/ghc/" - -# discover if this is a snapshot release -IS_SNAPSHOT="$(get_version_component_range 4)" # non-empty if snapshot -EXTRA_SRC_URI="${PV}" -[[ "${IS_SNAPSHOT}" ]] && EXTRA_SRC_URI="stable/dist" - -SRC_URI="!binary? ( http://haskell.org/ghc/dist/${EXTRA_SRC_URI}/${P}-src.tar.bz2 ) - alpha? ( mirror://gentoo/ghc-bin-${PV}-alpha.tbz2 ) - amd64? ( mirror://gentoo/ghc-bin-${PV}-amd64.tbz2 ) - ia64? ( mirror://gentoo/ghc-bin-${PV}-ia64.tbz2 ) - ppc? ( mirror://gentoo/ghc-bin-${PV}-ppc.tbz2 ) - sparc? ( mirror://gentoo/ghc-bin-${PV}-sparc.tbz2 ) - x86? ( mirror://gentoo/ghc-bin-${PV}-x86.tbz2 )" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="alpha amd64 ia64 ~ppc sparc x86" -IUSE="binary doc ghcbootstrap" - -RDEPEND=" - !dev-lang/ghc-bin - >=sys-devel/gcc-2.95.3 - >=sys-devel/binutils-2.17 - >=dev-lang/perl-5.6.1 - >=dev-libs/gmp-4.1 - =sys-libs/readline-5*" - -DEPEND="${RDEPEND} - ghcbootstrap? ( doc? ( ~app-text/docbook-xml-dtd-4.2 - app-text/docbook-xsl-stylesheets - >=dev-libs/libxslt-1.1.2 - >=dev-haskell/haddock-0.8 ) )" -# In the ghcbootstrap case we rely on the developer having -# >=ghc-5.04.3 on their $PATH already - -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 - filter-flags -fPIC - - 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 - - # We also add -Wa,--noexecstack to get ghc to generate .o files with - # non-exectable stack. This it a hack until ghc does it itself properly. - append-ghc-cflags assemble "-Wa,--noexecstack" -} - -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}" - - base_src_unpack - source "${FILESDIR}/ghc-apply-gmp-hack" "$(get_libdir)" - - ghc_setup_cflags - - if use binary; then - - # Move unpacked files to the expected place - mv "${WORKDIR}/usr" "${S}" - else - - # Modify the ghc driver script to use GHC_CFLAGS - sed -i -e "s|\$\$TOPDIROPT|\$\$TOPDIROPT ${GHC_CFLAGS}|" \ - "${S}/driver/ghc/Makefile" - - if ! use ghcbootstrap; then - # Relocate from /usr to ${WORKDIR}/usr - sed -i -e "s|/usr|${WORKDIR}/usr|g" \ - "${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" \ - || die "Relocating ghc from /usr to workdir failed" - fi - fi -} - -src_compile() { - 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 = /usr/share/doc/${P}" >> mk/build.mk - echo "htmldir = /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 - echo "SRC_CC_OPTS+=${CFLAGS} -Wa,--noexecstack" >> 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 XMLDocWays="html" >> mk/build.mk - echo HADDOCK_DOCS=YES >> mk/build.mk - else - echo XMLDocWays="" >> 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 - - # GHC build system knows to build unregisterised on alpha, - # but we have to tell it to build unregisterised on some arches - if use alpha || use ia64 || use ppc64 || use sparc; then - echo "GhcUnregisterised=YES" >> mk/build.mk - echo "GhcWithInterpreter=NO" >> 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 - - # 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" - - # 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 all || die "make failed" - - fi # ! use binary -} - -src_install() { - if use binary; then - mv "${S}/usr" "${D}" - - # Remove the docs if not requested - if ! use doc; then - rm -rf "${D}/usr/share/doc/${P}/*/" \ - "${D}/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 - insttarget="${insttarget} install-docs" - else - mkdir -p "${D}/usr/share/doc" - mv "${WORKDIR}/usr/share/doc/${P}" "${D}/usr/share/doc" \ - || die "failed to copy docs" - fi - fi - - emake -j1 ${insttarget} \ - DESTDIR="${D}" \ - || die "make ${insttarget} failed" - - dodoc "${S}/README" "${S}/ANNOUNCE" "${S}/LICENSE" "${S}/VERSION" - - dosbin "${FILESDIR}/ghc-updater" - - dobashcompletion "${FILESDIR}/ghc-bash-completion" - - cp -p "${D}/usr/$(get_libdir)/${P}/package.conf"{,.shipped} \ - || die "failed to copy package.conf" - fi -} - -pkg_postinst() { - ghc-reregister - - ewarn "IMPORTANT:" - ewarn "If you have upgraded from another version of ghc, please run:" - ewarn " /usr/sbin/ghc-updater" - ewarn "to re-merge all ghc-based Haskell libraries." - - bash-completion_pkg_postinst -} - -pkg_prerm() { - # Overwrite the (potentially) modified package.conf with a copy of the - # original one, so that it will be removed during uninstall. - - PKG="${ROOT}/usr/$(get_libdir)/${P}/package.conf" - - cp -p "${PKG}"{.shipped,} - - [[ -f ${PKG}.old ]] && rm "${PKG}.old" -} |