summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2013-08-02 11:29:58 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2013-08-02 11:29:58 +0000
commit22bd329768a8a8404bf8d27248a946d3656b4203 (patch)
tree9b6f8780144a07072632e7f341747bdfb70415f2 /dev-lang/ghc/ghc-7.6.3-r1.ebuild
parentIntroduce disk space checks. Bug #479356. (diff)
downloadhistorical-22bd329768a8a8404bf8d27248a946d3656b4203.tar.gz
historical-22bd329768a8a8404bf8d27248a946d3656b4203.tar.bz2
historical-22bd329768a8a8404bf8d27248a946d3656b4203.zip
unbreak ghci on 7.6.3-r1 on x86 arch.
libc_nonshared.a contains PIC objects while ghci needs non-PIC. They are in libc.a. Picked that. Package-Manager: portage-2.2.0_alpha190/cvs/Linux x86_64 Manifest-Sign-Key: 0x611FF3AA
Diffstat (limited to 'dev-lang/ghc/ghc-7.6.3-r1.ebuild')
-rw-r--r--dev-lang/ghc/ghc-7.6.3-r1.ebuild18
1 files changed, 7 insertions, 11 deletions
diff --git a/dev-lang/ghc/ghc-7.6.3-r1.ebuild b/dev-lang/ghc/ghc-7.6.3-r1.ebuild
index b693c3524d36..c18fca740127 100644
--- a/dev-lang/ghc/ghc-7.6.3-r1.ebuild
+++ b/dev-lang/ghc/ghc-7.6.3-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-7.6.3-r1.ebuild,v 1.1 2013/08/01 13:15:33 slyfox Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-7.6.3-r1.ebuild,v 1.2 2013/08/02 11:29:49 slyfox Exp $
# Brief explanation of the bootstrap logic:
#
@@ -615,19 +615,12 @@ src_compile() {
fi # ! use binary
}
-ghc-needs-c_nonshared-for-interpreter-libs() {
- local sample_test=${T}/c_nonshared-test.c
- echo "int main() {} " > "${sample_test}" || die
- $(tc-getCC) -o "${sample_test}".result "${sample_test}" \
- -L"${ROOT}"/usr/$(get_libdir) -lc_nonshared
-}
-
add-c_nonshared-to-ghci-libs() {
local ghci_lib
local nonshared_dir=${T}/libc_nonshared_objects
is_crosscompile && return
- ghc-needs-c_nonshared-for-interpreter-libs || return
+ use elibc_glibc || return
get-nonshared-objects() {
# ns - 'nonshared'
@@ -639,15 +632,18 @@ add-c_nonshared-to-ghci-libs() {
# extract
mkdir "${nonshared_dir}" || die
pushd "${nonshared_dir}" >/dev/null || die
- $(tc-getAR) x "${ROOT}"/usr/$(get_libdir)/libc_nonshared.a
+ $(tc-getAR) x "${ROOT}"/usr/$(get_libdir)/libc.a
popd >/dev/null || die
+ # they are mostly contents of /usr/$(get_libdir)/libc_nonstahed.a
+ # but 'c_nonstahed' contains PIC variants of symbols.
+ # ghci uses non-PIC ones
for ns_sym in \
stat fstat lstat mknod \
stat64 fstat64 lstat64 \
fstatat fstatat64 mknodat
do
- ns_srco=${nonshared_dir}/${ns_sym}.oS
+ ns_srco=${nonshared_dir}/${ns_sym}.o
ns_dsto=${nonshared_dir}/${ns_sym}_weakened.o
[[ -f ${ns_srco} ]] || continue
# here we do The Magic: