diff options
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/Manifest.gz | bin | 40837 -> 40833 bytes | |||
-rw-r--r-- | eclass/dot-a.eclass | 2 | ||||
-rw-r--r-- | eclass/haskell-cabal.eclass | 26 | ||||
-rw-r--r-- | eclass/rust.eclass | 2 |
4 files changed, 28 insertions, 2 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz Binary files differindex 148574145fa4..656450fb3b53 100644 --- a/eclass/Manifest.gz +++ b/eclass/Manifest.gz diff --git a/eclass/dot-a.eclass b/eclass/dot-a.eclass index 541c5b5c1269..f82e5da5be89 100644 --- a/eclass/dot-a.eclass +++ b/eclass/dot-a.eclass @@ -84,6 +84,8 @@ strip-lto-bytecode() { # so we expect to be called on *something*, but nothing was explicitly # passed. Try scanning ${ED} automatically. set -- "${ED}" + else + return fi fi diff --git a/eclass/haskell-cabal.eclass b/eclass/haskell-cabal.eclass index 2e77bc648b16..bb73c0e4881d 100644 --- a/eclass/haskell-cabal.eclass +++ b/eclass/haskell-cabal.eclass @@ -661,6 +661,23 @@ cabal-is-dummy-lib() { return 1 } +# @FUNCTION: cabal-check-cache +# @DESCRIPTION: +# Check the state of the GHC cache by running 'ghc-pkg check' and looking +# for the string "WARNING: cache is out of date". If the string is not found, +# the cache is considered valid and the function returns 0. If it is found, +# the cache is considered invalid and the function returns 1. +cabal-check-cache() { + if $(ghc-getghcpkg) check 2>&1 \ + | grep -q 'WARNING: cache is out of date' + then + ewarn 'GHC cache is out of date!' + return 1 + else + return 0 + fi +} + # exported function: check if cabal is correctly installed for # the currently active ghc (we cannot guarantee this with portage) haskell-cabal_pkg_setup() { @@ -672,6 +689,13 @@ haskell-cabal_pkg_setup() { fi if cabal-is-dummy-lib; then einfo "${P} is included in ghc-${CABAL_CORE_LIB_GHC_PV}, nothing to install." + else + # bug 916785 + if ! cabal-check-cache; then + # avoid running ghc-recache-db so as not to set _GHC_RECACHE_CALLED + einfo "Recaching GHC package DB" + $(ghc-getghcpkg) recache + fi fi } @@ -711,6 +735,8 @@ haskell-cabal_src_prepare() { } haskell-cabal_src_configure() { + einfo "GHC version: $(ghc-version) $(ghc-pm-version)" + cabal-is-dummy-lib && return pushd "${S}" > /dev/null || die diff --git a/eclass/rust.eclass b/eclass/rust.eclass index 2cc0dd7d23d8..e99fca94ac3d 100644 --- a/eclass/rust.eclass +++ b/eclass/rust.eclass @@ -84,7 +84,6 @@ declare -A -g -r _RUST_LLVM_MAP=( ["1.76.0"]=17 ["1.75.0"]=17 ["1.74.1"]=17 - ["1.71.1"]=16 ) # @ECLASS_VARIABLE: _RUST_SLOTS_ORDERED @@ -111,7 +110,6 @@ declare -a -g -r _RUST_SLOTS_ORDERED=( "1.76.0" "1.75.0" "1.74.1" - "1.71.1" ) # == user control knobs == |