slyfox      15/07/20 15:05:49

  Modified:             ChangeLog haskell-cabal.eclass
  Log:
  Workaround upstream cabal tests hangup bug #537500 by Michael Orlitzky; use 
ghc's haddock for doc generation.

Revision  Changes    Path
1.1723               eclass/ChangeLog

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1723&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1723&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1722&r2=1.1723

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1722
retrieving revision 1.1723
diff -u -r1.1722 -r1.1723
--- ChangeLog   19 Jul 2015 15:46:03 -0000      1.1722
+++ ChangeLog   20 Jul 2015 15:05:49 -0000      1.1723
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1722 2015/07/19 
15:46:03 mpagano Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1723 2015/07/20 
15:05:49 slyfox Exp $
+
+  20 Jul 2015; Sergei Trofimovich <[email protected]> haskell-cabal.eclass:
+  Workaround upstream cabal tests hangup bug #537500 by Michael Orlitzky; use
+  ghc's haddock for doc generation.
 
   19 Jul 2015; Mike Pagano <[email protected]> kernel-2.eclass:
   Change kernel upgrade http link and remove reference to deblob in elog



1.52                 eclass/haskell-cabal.eclass

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/haskell-cabal.eclass?rev=1.52&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/haskell-cabal.eclass?rev=1.52&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/haskell-cabal.eclass?r1=1.51&r2=1.52

Index: haskell-cabal.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/haskell-cabal.eclass,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -r1.51 -r1.52
--- haskell-cabal.eclass        4 Apr 2015 20:33:05 -0000       1.51
+++ haskell-cabal.eclass        20 Jul 2015 15:05:49 -0000      1.52
@@ -1,6 +1,6 @@
 # Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/haskell-cabal.eclass,v 1.51 
2015/04/04 20:33:05 slyfox Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/haskell-cabal.eclass,v 1.52 
2015/07/20 15:05:49 slyfox Exp $
 
 # @ECLASS: haskell-cabal.eclass
 # @MAINTAINER:
@@ -172,6 +172,8 @@
 cabal-bootstrap() {
        local setupmodule
        local cabalpackage
+       local setup_bootstrap_args=()
+
        if [[ -f "${S}/Setup.lhs" ]]; then
                setupmodule="${S}/Setup.lhs"
        elif [[ -f "${S}/Setup.hs" ]]; then
@@ -192,8 +194,16 @@
        cabalpackage=Cabal-$(cabal-version)
        einfo "Using cabal-$(cabal-version)."
 
+       if $(ghc-supports-threaded-runtime); then
+               # Cabal has a bug that deadlocks non-threaded RTS:
+               #     https://bugs.gentoo.org/537500
+               #     https://github.com/haskell/cabal/issues/2398
+               setup_bootstrap_args+=(-threaded)
+       fi
+
        make_setup() {
                set -- -package "${cabalpackage}" --make "${setupmodule}" \
+                       ${setup_bootstrap_args} \
                        ${HCFLAGS} \
                        ${GHC_BOOTSTRAP_FLAGS} \
                        "$@" \
@@ -311,7 +321,15 @@
        has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
 
        if [[ -n "${CABAL_USE_HADDOCK}" ]] && use doc; then
-               cabalconf+=(--with-haddock=${EPREFIX}/usr/bin/haddock)
+               # We use the bundled with GHC version if exists
+               # Haddock is very picky about index files
+               # it generates for ghc's base and other packages.
+               local p=${EPREFIX}/usr/bin/haddock-ghc-$(ghc-version)
+               if [[ -f $p ]]; then
+                       cabalconf+=(--with-haddock="${p}")
+               else
+                       cabalconf+=(--with-haddock=${EPREFIX}/usr/bin/haddock)
+               fi
        fi
        if [[ -n "${CABAL_USE_PROFILE}" ]] && use profile; then
                cabalconf+=(--enable-library-profiling)




Reply via email to