diff options
author | Fabian Groffen <grobian@gentoo.org> | 2012-05-01 06:17:02 +0000 |
---|---|---|
committer | Fabian Groffen <grobian@gentoo.org> | 2012-05-01 06:17:02 +0000 |
commit | 050c1b76443e74e4d06a975af0038329901394cf (patch) | |
tree | 3815356814b807aa79fd01d118346ff5a095baed /dev-lang/ghc | |
parent | whitespace (diff) | |
download | gentoo-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/ChangeLog | 7 | ||||
-rw-r--r-- | dev-lang/ghc/files/ghc-7.4.1-darwin-CHOST.patch | 18 | ||||
-rw-r--r-- | dev-lang/ghc/ghc-7.4.1-r1.ebuild | 43 |
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 |