From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 1E3DA138CA3 for ; Sun, 15 Mar 2015 17:03:35 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id F0BF4E08F5; Sun, 15 Mar 2015 17:03:33 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 7A31FE08F5 for ; Sun, 15 Mar 2015 17:03:33 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id ED77F340948 for ; Sun, 15 Mar 2015 17:03:31 +0000 (UTC) Received: by oystercatcher.gentoo.org (Postfix, from userid 2272) id 847A513D1F; Sun, 15 Mar 2015 17:03:27 +0000 (UTC) From: "Sergei Trofimovich (slyfox)" To: gentoo-commits@lists.gentoo.org Reply-To: gentoo-dev@lists.gentoo.org, slyfox@gentoo.org Subject: [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog haskell-cabal.eclass X-VCS-Repository: gentoo-x86 X-VCS-Files: ChangeLog haskell-cabal.eclass X-VCS-Directories: eclass X-VCS-Committer: slyfox X-VCS-Committer-Name: Sergei Trofimovich Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Message-Id: <20150315170328.847A513D1F@oystercatcher.gentoo.org> Date: Sun, 15 Mar 2015 17:03:27 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: ef3f7c20-1394-408b-81c1-310bc734dd8e X-Archives-Hash: 350a5c8a9a08406cad662098dd35db8e 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 haskell-cabal.eclass: + Respect CFLAGS. New syntax for revisions + CABAL_CORE_LIB_GHC_PV="PM:${ghc_PVR}". 15 Mar 2015; Davide Pesavento 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 }