slyfox      15/03/15 17:03:27

  Modified:             ChangeLog haskell-cabal.eclass
  Log:
  Respect CFLAGS. New syntax for revisions 
CABAL_CORE_LIB_GHC_PV="PM:${ghc_PVR}".

Revision  Changes    Path
1.1564               eclass/ChangeLog

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

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1563
retrieving revision 1.1564
diff -u -r1.1563 -r1.1564
--- ChangeLog   15 Mar 2015 01:25:19 -0000      1.1563
+++ ChangeLog   15 Mar 2015 17:03:27 -0000      1.1564
@@ -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.1563 2015/03/15 
01:25:19 pesa Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1564 2015/03/15 
17:03:27 slyfox Exp $
+
+  15 Mar 2015; Sergei Trofimovich <[email protected]> haskell-cabal.eclass:
+  Respect CFLAGS. New syntax for revisions
+  CABAL_CORE_LIB_GHC_PV="PM:${ghc_PVR}".
 
   15 Mar 2015; Davide Pesavento <[email protected]> qt4-build.eclass,
   qt4-build-multilib.eclass:



1.49                 eclass/haskell-cabal.eclass

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

Index: haskell-cabal.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/haskell-cabal.eclass,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- haskell-cabal.eclass        2 Jan 2015 09:35:02 -0000       1.48
+++ haskell-cabal.eclass        15 Mar 2015 17:03:27 -0000      1.49
@@ -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.48 
2015/01/02 09:35:02 slyfox Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/haskell-cabal.eclass,v 1.49 
2015/03/15 17:03:27 slyfox Exp $
 
 # @ECLASS: haskell-cabal.eclass
 # @MAINTAINER:
@@ -41,7 +41,8 @@
 # @ECLASS-VARIABLE: CABAL_EXTRA_CONFIGURE_FLAGS
 # @DESCRIPTION:
 # User-specified additional parameters passed to 'setup configure'.
-# example: /etc/portage/make.conf: CABAL_EXTRA_CONFIGURE_FLAGS=--enable-shared
+# example: /etc/portage/make.conf:
+#    CABAL_EXTRA_CONFIGURE_FLAGS="--enable-shared --enable-executable-dynamic"
 : ${CABAL_EXTRA_CONFIGURE_FLAGS:=}
 
 # @ECLASS-VARIABLE: CABAL_EXTRA_BUILD_FLAGS
@@ -111,7 +112,7 @@
 fi
 
 if [[ -n "${CABAL_USE_HOOGLE}" ]]; then
-       # enabled only in ::gentoo-haskell
+       # enabled only in ::haskell
        CABAL_USE_HOOGLE=
 fi
 
@@ -148,8 +149,9 @@
        DEPEND="${DEPEND} >=dev-haskell/cabal-${CABAL_MIN_VERSION}"
 fi
 
-# returns the version of cabal currently in use
-_CABAL_VERSION_CACHE=""
+# returns the version of cabal currently in use.
+# Rarely it's handy to pin cabal version from outside.
+: ${_CABAL_VERSION_CACHE:=""}
 cabal-version() {
        if [[ -z "${_CABAL_VERSION_CACHE}" ]]; then
                if [[ "${CABAL_BOOTSTRAP}" ]]; then
@@ -362,7 +364,8 @@
        # currently cabal does not respect CFLAGS and LDFLAGS on it's own (bug 
#333217)
        # so translate LDFLAGS to ghc parameters (without filtering)
        local flag
-       for flag in $LDFLAGS; do cabalconf+=(--ghc-option="-optl$flag"); done
+       for flag in   $CFLAGS; do cabalconf+=(--ghc-option="-optc$flag"); done
+       for flag in  $LDFLAGS; do cabalconf+=(--ghc-option="-optl$flag"); done
 
        # disable executable stripping for the executables, as portage will
        # strip by itself, and pre-stripping gives a QA warning.
@@ -456,10 +459,21 @@
 # However portage still records the dependency and we can upgrade the package
 # to a later one that's not included with ghc.
 # You can also put a space separated list, eg CABAL_CORE_LIB_GHC_PV="6.6 
6.6.1".
+# Those versions are taken as-is from ghc `--numeric-version`.
+# Package manager versions are also supported:
+#     CABAL_CORE_LIB_GHC_PV="7.10.* PM:7.8.4-r1".
 cabal-is-dummy-lib() {
+       local bin_ghc_version=$(ghc-version)
+       local pm_ghc_p=$(best_version dev-lang/ghc)
+       local pm_ghc_version version
+
+       pm_ghc_version=PM:${pm_ghc_p#dev-lang/ghc-}
+
        for version in ${CABAL_CORE_LIB_GHC_PV[*]}; do
-               [[ "$(ghc-version)" == ${version} ]] && return 0
+               [[ "${bin_ghc_version}" == ${version} ]] && return 0
+               [[ "${pm_ghc_version}"  == ${version} ]] && return 0
        done
+
        return 1
 }
 




Reply via email to