summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-lang/ghc/ChangeLog9
-rw-r--r--dev-lang/ghc/Manifest15
-rw-r--r--dev-lang/ghc/files/ghc-6.12.3-libffi-incorrect-detection-of-selinux.patch61
-rw-r--r--dev-lang/ghc/ghc-6.12.3.ebuild8
4 files changed, 77 insertions, 16 deletions
diff --git a/dev-lang/ghc/ChangeLog b/dev-lang/ghc/ChangeLog
index 2a28d049d593..3e6fb6dae97a 100644
--- a/dev-lang/ghc/ChangeLog
+++ b/dev-lang/ghc/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for dev-lang/ghc
-# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.200 2010/11/27 12:43:55 kolmodin Exp $
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.201 2011/02/05 15:37:16 slyfox Exp $
+
+ 05 Feb 2011; Sergei Trofimovich <slyfox@gentoo.org> ghc-6.12.3.ebuild,
+ +files/ghc-6.12.3-libffi-incorrect-detection-of-selinux.patch:
+ Backported libffi fix from upstream. It fixes GHCi operation on GRSEC
+ kernel for TPE restricted users. Thanks to klondike!
27 Nov 2010; Lennart Kolmodin <kolmodin@gentoo.org> -ghc-6.12.1.ebuild:
Remove masked GHC 6.12.1.
diff --git a/dev-lang/ghc/Manifest b/dev-lang/ghc/Manifest
index b8a8f6d71ed4..1ea2b7d0a3b2 100644
--- a/dev-lang/ghc/Manifest
+++ b/dev-lang/ghc/Manifest
@@ -1,6 +1,3 @@
------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
@@ -20,6 +17,7 @@ AUX ghc-6.12.3-ghciless-haddock-3558.patch 7222 RMD160 e2f4347100ce4c1763c3cdc37
AUX ghc-6.12.3-ia64-fixed-relax.patch 1362 RMD160 81224e6cc74d20b80b93c55eaeda7e2a6a7e3ae0 SHA1 d93beaf3fa9fa37b87f6fc6c7fc85d488ff809c3 SHA256 db632a48cef7fdce8fd24759af33527d489121ce3e67cbbcd235608aa0247a31
AUX ghc-6.12.3-ia64-storage-manager-fix.patch 3035 RMD160 067caf41e1ba60b5215b16eafeaec262904e2e2a SHA1 12a9ef095286f22e9b7107af28bff6916c3700d2 SHA256 9e08ad179c7fdc7de1899f89560ec26215968187956f2853639bbe85650fa2ab
AUX ghc-6.12.3-ia64-use-libffi-for-foreign-import-wrapper.patch 683 RMD160 4361e22211960ef347a49e5d0fa53d6337d2c7a6 SHA1 6caf69a755034794f470c3f1e5f48e7453d4e949 SHA256 82f48006c95fb9d01c8618f7457cd2744d7a1fada8c70d25544eefa23cbfde2b
+AUX ghc-6.12.3-libffi-incorrect-detection-of-selinux.patch 2228 RMD160 a2104ee651e7f751db4ca7e460b3b4816b1358cc SHA1 d9a5d631b46d510715182890fbd91b962d75aa21 SHA256 97410ae73b0e1cc127d5f07b39c3a6e0a3fdaf36491af17c7b7eb0c9c8d716b1
AUX ghc-6.12.3-ppc-use-libffi-for-foreign-import-wrapper.patch 609 RMD160 a26c8a5c7fde2188639484d5cc622de669e5f427 SHA1 03615e6b6428dd693b57d16420f3853ce3d51f47 SHA256 537a96473cec66739534da7cc88bbde37d7f5f0ab158a9921e666985c18fc1b5
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
@@ -89,19 +87,12 @@ DIST ghc-bundled-readline-5.2_p13-amd64.tbz2 976677 RMD160 f0543aa3f404d45aad436
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.ebuild 14653 RMD160 191f638a64995360f906d98f3321ddf66a848735 SHA1 6f34062f2a02140500fd2365dfee007167236438 SHA256 e2a7f183aa512c39a8b666a2b3c652cb63f523c506ba9c58345eba273531c14b
+EBUILD ghc-6.12.3.ebuild 14837 RMD160 3024428e465b143850d9639a91fbaa590ccfacc2 SHA1 0af3c5e79e75a604bb4980893829e49752dc1b70 SHA256 503bb8f7f53337a95e79b49f69b571ae1c3ef70e8b3b1ab2853ec8c0f9b3eaa2
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 36060 RMD160 d461f07643c522dfe0b8dc80d741e084cff6fcb1 SHA1 77a0e9561e09d3ed2a4aa579b5b5eaac18515cfb SHA256 b62e1bfe0c9b5c91f930bc71fb9138285d170866400cdfeaf8937ca49c773d65
+MISC ChangeLog 36324 RMD160 156606c15346b7042b1c18764e3e1b74dde14fbc SHA1 e84bf915c8e7adb6a8495576b70b4b672a88c0d5 SHA256 d159ad6bd7185af142b74a645535c76c00dd7c92ef340090ac496178b931e367
MISC metadata.xml 442 RMD160 9cfa0af9084477c8a70ecf0ac3fb3093ae0cd602 SHA1 be2833090f093ac1c8fc2f5c6f3f253bdbdd6b96 SHA256 2bacbdfcaea11289949a687626f59f99af8fda9ec495b2c349ce5898d9f0dcd4
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.16 (GNU/Linux)
-
-iEYEARECAAYFAkzw/PwACgkQ1n/CYbXjntL0mQCfV6oBQBv2aV5TBt20u1FaNJRK
-FBsAni0dvx7TkGvfsBd/DDoDM54zxgZa
-=G+kh
------END PGP SIGNATURE-----
diff --git a/dev-lang/ghc/files/ghc-6.12.3-libffi-incorrect-detection-of-selinux.patch b/dev-lang/ghc/files/ghc-6.12.3-libffi-incorrect-detection-of-selinux.patch
new file mode 100644
index 000000000000..9d839fc7b3e3
--- /dev/null
+++ b/dev-lang/ghc/files/ghc-6.12.3-libffi-incorrect-detection-of-selinux.patch
@@ -0,0 +1,61 @@
+From 6d011f0865dc99d9306b5768ccd1eaa0355d994e Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Sat, 5 Feb 2011 11:53:33 +0200
+Subject: [PATCH] libffi: backport incorrect detection of selinux
+
+This patch unbreaks ghci on GRSEC kernels hardened with
+TPE (Trusted Path Execution) protection.
+
+TPE forbids mmap('rwx') files opened for writes:
+ fd = open (a_file_in_tmp, O_RDWR);
+ mmap (..., PROT_READ | PROT_WRITE | PROT_EXEC, fd);
+
+while allows anonymous RWX mappings:
+ mmap (...MAP_ANONYMOUS , PROT_READ | PROT_WRITE | PROT_EXEC, -1);
+
+Thanks to klondike for finding it out.
+
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+---
+ libffi/ghc.mk | 2 ++
+ libffi/libffi.selinux-detection-3.0.8.patch | 15 +++++++++++++++
+ 2 files changed, 17 insertions(+), 0 deletions(-)
+ create mode 100644 libffi/libffi.selinux-detection-3.0.8.patch
+
+diff --git a/libffi/ghc.mk b/libffi/ghc.mk
+index 1b1b118..a40f23c 100644
+--- a/libffi/ghc.mk
++++ b/libffi/ghc.mk
+@@ -117,6 +117,8 @@ $(libffi_STAMP_CONFIGURE):
+ # This patch is just the resulting delta from running
+ # automake && autoreconf && libtoolize --force --copy
+ cd libffi/build && "$(PATCH)" -p1 < ../libffi.autotools-update-3.0.8.patch
++ # don't report nonselinux systems as selinux
++ cd libffi/build && "$(PATCH)" -p0 < ../libffi.selinux-detection-3.0.8.patch
+
+ # Because -Werror may be in SRC_CC_OPTS/SRC_LD_OPTS, we need to turn
+ # warnings off or the compilation of libffi might fail due to warnings
+diff --git a/libffi/libffi.selinux-detection-3.0.8.patch b/libffi/libffi.selinux-detection-3.0.8.patch
+new file mode 100644
+index 0000000..a919f28
+--- /dev/null
++++ b/libffi/libffi.selinux-detection-3.0.8.patch
+@@ -0,0 +1,15 @@
++src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
++
++http://github.com/atgreen/libffi/commit/eaf444eabc4c78703c0f98ac0197b1619c1b1bef
++
++--- src/closures.c
+++++ src/closures.c
++@@ -146,7 +146,7 @@
++ p = strchr (p + 1, ' ');
++ if (p == NULL)
++ break;
++- if (strncmp (p + 1, "selinuxfs ", 10) != 0)
+++ if (strncmp (p + 1, "selinuxfs ", 10) == 0)
++ {
++ free (buf);
++ fclose (f);
+--
+1.7.3.4
+
diff --git a/dev-lang/ghc/ghc-6.12.3.ebuild b/dev-lang/ghc/ghc-6.12.3.ebuild
index 8778fc6498f7..fc14bad839e8 100644
--- a/dev-lang/ghc/ghc-6.12.3.ebuild
+++ b/dev-lang/ghc/ghc-6.12.3.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.12.3.ebuild,v 1.19 2010/11/14 18:10:55 slyfox Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.12.3.ebuild,v 1.20 2011/02/05 15:37:16 slyfox Exp $
# Brief explanation of the bootstrap logic:
#
@@ -235,6 +235,10 @@ src_unpack() {
# http://hackage.haskell.org/trac/ghc/ticket/3558
epatch "${FILESDIR}/ghc-6.12.3-ghciless-haddock-3558.patch"
+ # This patch unbreaks ghci on GRSEC kernels hardened with
+ # TPE (Trusted Path Execution) protection.
+ epatch "${FILESDIR}/ghc-6.12.3-libffi-incorrect-detection-of-selinux.patch"
+
# as we have changed the build system
eautoreconf
fi