summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2012-05-01 06:17:02 +0000
committerFabian Groffen <grobian@gentoo.org>2012-05-01 06:17:02 +0000
commit050c1b76443e74e4d06a975af0038329901394cf (patch)
tree3815356814b807aa79fd01d118346ff5a095baed /dev-lang/ghc
parentwhitespace (diff)
downloadgentoo-2-050c1b76443e74e4d06a975af0038329901394cf.tar.gz
gentoo-2-050c1b76443e74e4d06a975af0038329901394cf.tar.bz2
gentoo-2-050c1b76443e74e4d06a975af0038329901394cf.zip
Restore and fix support for darwin and solaris keywords, introduced and marked ~x64-macos support
(Portage version: 2.2.01.20430-prefix/cvs/Darwin i386)
Diffstat (limited to 'dev-lang/ghc')
-rw-r--r--dev-lang/ghc/ChangeLog7
-rw-r--r--dev-lang/ghc/files/ghc-7.4.1-darwin-CHOST.patch18
-rw-r--r--dev-lang/ghc/ghc-7.4.1-r1.ebuild43
3 files changed, 52 insertions, 16 deletions
diff --git a/dev-lang/ghc/ChangeLog b/dev-lang/ghc/ChangeLog
index 010a9bd3a83e..d5a67827776d 100644
--- a/dev-lang/ghc/ChangeLog
+++ b/dev-lang/ghc/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for dev-lang/ghc
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.220 2012/04/30 15:38:41 grobian Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.221 2012/05/01 06:17:02 grobian Exp $
+
+ 01 May 2012; Fabian Groffen <grobian@gentoo.org>
+ +files/ghc-7.4.1-darwin-CHOST.patch, ghc-7.4.1-r1.ebuild:
+ Restore and fix support for darwin and solaris keywords, introduced and marked
+ ~x64-macos support
30 Apr 2012; Fabian Groffen <grobian@gentoo.org> ghc-6.12.3-r2.ebuild:
Avoid errors for platforms we don't use Gentoo's binaries
diff --git a/dev-lang/ghc/files/ghc-7.4.1-darwin-CHOST.patch b/dev-lang/ghc/files/ghc-7.4.1-darwin-CHOST.patch
new file mode 100644
index 000000000000..348158882aaf
--- /dev/null
+++ b/dev-lang/ghc/files/ghc-7.4.1-darwin-CHOST.patch
@@ -0,0 +1,18 @@
+like the other CHOST patches, but this one catches another case where
+$host is used (instead of the cannonicalised variables)
+
+--- aclocal.m4
++++ aclocal.m4
+@@ -93,10 +93,10 @@
+ exeext='.exe'
+ soext='.dll'
+ ;;
+- i386-apple-darwin|powerpc-apple-darwin)
++ i386-apple-darwin*|powerpc-apple-darwin*)
+ soext='.dylib'
+ ;;
+- x86_64-apple-darwin)
++ x86_64-apple-darwin*)
+ soext='.dylib'
+ ;;
+ esac
diff --git a/dev-lang/ghc/ghc-7.4.1-r1.ebuild b/dev-lang/ghc/ghc-7.4.1-r1.ebuild
index 97a5e26ffbed..b3caeb372c43 100644
--- a/dev-lang/ghc/ghc-7.4.1-r1.ebuild
+++ b/dev-lang/ghc/ghc-7.4.1-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-7.4.1-r1.ebuild,v 1.1 2012/04/27 18:14:42 slyfox Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-7.4.1-r1.ebuild,v 1.2 2012/05/01 06:17:02 grobian Exp $
# Brief explanation of the bootstrap logic:
#
@@ -51,6 +51,13 @@ arch_binaries="$arch_binaries x86? ( http://code.haskell.org/~slyfox/ghc-x86/ghc
# various ports:
#arch_binaries="$arch_binaries x86-fbsd? ( http://code.haskell.org/~slyfox/ghc-x86-fbsd/ghc-bin-${PV}-x86-fbsd.tbz2 )"
+# prefix ports:
+arch_binaries="$arch_binaries x86-macos? ( http://www.haskell.org/ghc/dist/6.10.1/maeder/ghc-6.10.1-i386-apple-darwin.tar.bz2 )"
+arch_binaries="$arch_binaries x64-macos? ( http://www.haskell.org/ghc/dist/7.4.1/ghc-7.4.1-x86_64-apple-darwin.tar.bz2 )"
+arch_binaries="$arch_binaries ppc-macos? ( http://www.haskell.org/ghc/dist/6.10.1/maeder/ghc-6.10.1-powerpc-apple-darwin.tar.bz2 )"
+arch_binaries="$arch_binaries x86-solaris? ( http://www.haskell.org/ghc/dist/6.10.4/maeder/ghc-6.10.4-i386-unknown-solaris2.tar.bz2 )"
+arch_binaries="$arch_binaries sparc-solaris? ( http://www.haskell.org/ghc/dist/6.10.4/maeder/ghc-6.10.4-sparc-sun-solaris2.tar.bz2 )"
+
# 0 - yet
yet_binary() {
case "${ARCH}" in
@@ -64,6 +71,11 @@ yet_binary() {
ppc64) return 0 ;;
sparc) return 0 ;;
x86) return 0 ;;
+ x86-macos) return 0 ;;
+ x64-macos) return 0 ;;
+ ppc-macos) return 0 ;;
+ x86-solaris) return 0 ;;
+ sparc-solaris) return 0 ;;
*) return 1 ;;
esac
}
@@ -73,7 +85,7 @@ SRC_URI="!binary? ( http://www.haskell.org/ghc/dist/${PV}/${P}-src.tar.bz2 )"
LICENSE="BSD"
SLOT="0"
# ghc on ia64 needs gcc to support -mcmodel=medium (or some dark hackery) to avoid TOC overflow
-KEYWORDS="~alpha ~amd64 -ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 -ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
IUSE="doc ghcbootstrap llvm"
IUSE+=" binary" # don't forget about me later!
@@ -272,7 +284,7 @@ src_unpack() {
src_prepare() {
ghc_setup_cflags
- if ! use ghcbootstrap; then
+ if ! use ghcbootstrap && [[ ${CHOST} != *-darwin* && ${CHOST} != *-solaris* ]]; then
# Modify the wrapper script from the binary tarball to use GHC_FLAGS.
# See bug #313635.
sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_FLAGS}|" \
@@ -295,16 +307,16 @@ src_prepare() {
if ! use ghcbootstrap; then
case ${CHOST} in
*-darwin* | *-solaris*)
- # UPDATE ME for ghc-7
mkdir "${WORKDIR}"/ghc-bin-installer || die
pushd "${WORKDIR}"/ghc-bin-installer > /dev/null || die
use sparc-solaris && unpack ghc-6.10.4-sparc-sun-solaris2.tar.bz2
use x86-solaris && unpack ghc-6.10.4-i386-unknown-solaris2.tar.bz2
use ppc-macos && unpack ghc-6.10.1-powerpc-apple-darwin.tar.bz2
use x86-macos && unpack ghc-6.10.1-i386-apple-darwin.tar.bz2
+ use x64-macos && unpack ghc-7.4.1-x86_64-apple-darwin.tar.bz2
popd > /dev/null
- pushd "${WORKDIR}"/ghc-bin-installer/ghc-6.10.? > /dev/null || die
+ pushd "${WORKDIR}"/ghc-bin-installer/ghc-[67].?*.? > /dev/null || die
# fix the binaries so they run, on Solaris we need an
# LD_LIBRARY_PATH which has our prefix libdirs, on
# Darwin we need to replace the frameworks with our libs
@@ -314,12 +326,12 @@ src_prepare() {
export LD_LIBRARY_PATH="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
elif [[ ${CHOST} == *-darwin* ]] ; then
# http://hackage.haskell.org/trac/ghc/ticket/2942
- pushd utils/haddock/dist-install/build > /dev/null
- ln -s Haddock haddock >& /dev/null # fails on IN-sensitive
- popd > /dev/null
+ cd utils/haddock/dist-install/build &> /dev/null && \
+ ln -s Haddock haddock >& /dev/null # fails on IN-sensitive
local readline_framework=GNUreadline.framework/GNUreadline
- local gmp_framework=/opt/local/lib/libgmp.3.dylib
+ local gmp_framework6101=/opt/local/lib/libgmp.3.dylib
+ local gmp_framework741=/opt/local/lib/libgmp.10.dylib
local ncurses_file=/opt/local/lib/libncurses.5.dylib
for binary in $(scanmacho -BRE MH_EXECUTE -F '%F' .) ; do
install_name_tool -change \
@@ -327,7 +339,11 @@ src_prepare() {
"${EPREFIX}"/lib/libreadline.dylib \
${binary} || die
install_name_tool -change \
- ${gmp_framework} \
+ ${gmp_framework6101} \
+ "${EPREFIX}"/usr/lib/libgmp.dylib \
+ ${binary} || die
+ install_name_tool -change \
+ ${gmp_framework741} \
"${EPREFIX}"/usr/lib/libgmp.dylib \
${binary} || die
install_name_tool -change \
@@ -359,13 +375,10 @@ src_prepare() {
cd "${S}" # otherwise epatch will break
- epatch "${FILESDIR}/ghc-7.0.4-CHOST-prefix.patch"
-
+ epatch "${FILESDIR}"/${PN}-7.0.4-CHOST-prefix.patch
epatch "${FILESDIR}"/${PN}-7.0.4-darwin8.patch
- # failed to apply. FIXME
- #epatch "${FILESDIR}"/${PN}-6.12.3-mach-o-relocation-limit.patch
-
epatch "${FILESDIR}"/${PN}-7.4-rc2-macos-prefix-respect-gcc.patch
+ epatch "${FILESDIR}"/${PN}-7.4.1-darwin-CHOST.patch
epatch "${FILESDIR}"/${PN}-7.2.1-freebsd-CHOST.patch
# one mode external depend with unstable ABI be careful to stash it