diff --git a/ghc.changes b/ghc.changes index 63fcf2b..a487145 100644 --- a/ghc.changes +++ b/ghc.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue Jan 26 08:22:59 UTC 2016 - mimi.vx@gmail.com + +- update Cabal to 1.22.7.0 +- refresh u_Cabal_update.patch +* Backport #3012 to the 1.22 branch +* Add foldl' import +* The Cabal part for fully gcc-like response files + ------------------------------------------------------------------- Tue Jan 5 18:54:25 UTC 2016 - peter.trommler@ohm-hochschule.de diff --git a/ghc.spec b/ghc.spec index 0d96756..ad889af 100644 --- a/ghc.spec +++ b/ghc.spec @@ -125,7 +125,7 @@ To install all of GHC install package ghc. %global ghc_pkg_c_deps ghc-compiler = %{ghc_version_override}-%{release} %if %{defined ghclibdir} -%ghc_lib_subpackage Cabal 1.22.6.0 +%ghc_lib_subpackage Cabal 1.22.7.0 %ghc_lib_subpackage array 0.5.1.0 %ghc_lib_subpackage -c gmp-devel,libffi-devel base 4.8.2.0 %ghc_lib_subpackage binary 0.7.5.0 diff --git a/u_Cabal_update.patch b/u_Cabal_update.patch index cedc759..deba3b2 100644 --- a/u_Cabal_update.patch +++ b/u_Cabal_update.patch @@ -1,14 +1,23 @@ diff --git a/ghc-7.10.3.old/libraries/Cabal/Cabal/Cabal.cabal b/ghc-7.10.3/libraries/Cabal/Cabal/Cabal.cabal -index b498ca0..f3b3c32 100644 +index b498ca0..bf64bd5 100644 --- a/ghc-7.10.3.old/libraries/Cabal/Cabal/Cabal.cabal +++ b/ghc-7.10.3/libraries/Cabal/Cabal/Cabal.cabal @@ -1,5 +1,5 @@ name: Cabal -version: 1.22.5.0 -+version: 1.22.6.0 ++version: 1.22.7.0 copyright: 2003-2006, Isaac Jones 2005-2011, Duncan Coutts license: BSD3 +@@ -19,7 +19,7 @@ description: + organizing, and cataloging Haskell libraries and tools. + category: Distribution + cabal-version: >=1.10 +-build-type: Custom ++build-type: Simple + -- Even though we do use the default Setup.lhs it's vital to bootstrapping + -- that we build Setup.lhs using our own local Cabal source code. + @@ -145,7 +145,7 @@ library if flag(bundled-binary-generic) build-depends: binary >= 0.5 && < 0.7 @@ -77,6 +86,66 @@ index 444c851..270e2c3 100644 -- Build static/dynamic object files for TH, if needed. when compileForTH $ +diff --git a/ghc-7.10.3.old/libraries/Cabal/Cabal/Distribution/Simple/Haddock.hs b/ghc-7.10.3/libraries/Cabal/Cabal/Distribution/Simple/Haddock.hs +index 095d6b8..2d09292 100644 +--- a/ghc-7.10.3.old/libraries/Cabal/Cabal/Distribution/Simple/Haddock.hs ++++ b/ghc-7.10.3/libraries/Cabal/Cabal/Distribution/Simple/Haddock.hs +@@ -84,14 +84,16 @@ import Language.Haskell.Extension + + + import Control.Monad ( when, forM_ ) ++import Data.Char ( isSpace ) + import Data.Either ( rights ) + import Data.Monoid ++import Data.Foldable ( foldl' ) + import Data.Maybe ( fromMaybe, listToMaybe ) + + import System.Directory (doesFileExist) + import System.FilePath ( (), (<.>) + , normalise, splitPath, joinPath, isAbsolute ) +-import System.IO (hClose, hPutStrLn, hSetEncoding, utf8) ++import System.IO (hClose, hPutStr, hPutStrLn, hSetEncoding, utf8) + import Distribution.Version + + -- ------------------------------------------------------------------------------ +@@ -467,7 +469,7 @@ renderArgs :: Verbosity + -> IO a + renderArgs verbosity tmpFileOpts version comp args k = do + let haddockSupportsUTF8 = version >= Version [2,14,4] [] +- haddockSupportsResponseFiles = version > Version [2,16,1] [] ++ haddockSupportsResponseFiles = version > Version [2,16,2] [] + createDirectoryIfMissingVerbose verbosity True outputDir + withTempFileEx tmpFileOpts outputDir "haddock-prologue.txt" $ + \prologueFileName h -> do +@@ -482,7 +484,7 @@ renderArgs verbosity tmpFileOpts version comp args k = do + withTempFileEx tmpFileOpts outputDir "haddock-response.txt" $ + \responseFileName hf -> do + when haddockSupportsUTF8 (hSetEncoding hf utf8) +- mapM_ (hPutStrLn hf) renderedArgs ++ hPutStr hf $ unlines $ map escapeArg renderedArgs + hClose hf + let respFile = "@" ++ responseFileName + k ([respFile], result) +@@ -500,6 +502,19 @@ renderArgs verbosity tmpFileOpts version comp args k = do + pkgstr = display $ packageName pkgid + pkgid = arg argPackageName + arg f = fromFlag $ f args ++ -- Support a gcc-like response file syntax. Each separate ++ -- argument and its possible parameter(s), will be separated in the ++ -- response file by an actual newline; all other whitespace, ++ -- single quotes, double quotes, and the character used for escaping ++ -- (backslash) are escaped. The called program will need to do a similar ++ -- inverse operation to de-escape and re-constitute the argument list. ++ escape cs c ++ | isSpace c ++ || '\\' == c ++ || '\'' == c ++ || '"' == c = c:'\\':cs -- n.b., our caller must reverse the result ++ | otherwise = c:cs ++ escapeArg = reverse . foldl' escape [] + + renderPureArgs :: Version -> Compiler -> HaddockArgs -> [String] + renderPureArgs version comp args = concat diff --git a/ghc-7.10.3.old/libraries/Cabal/Cabal/Distribution/Version.hs b/ghc-7.10.3/libraries/Cabal/Cabal/Distribution/Version.hs index 1123749..e5c2e28 100644 --- a/ghc-7.10.3.old/libraries/Cabal/Cabal/Distribution/Version.hs @@ -124,10 +193,16 @@ index 1123749..e5c2e28 100644 {-# DEPRECATED AnyVersion "Use 'anyVersion', 'foldVersionRange' or 'asVersionIntervals'" #-} {-# DEPRECATED ThisVersion "use 'thisVersion', 'foldVersionRange' or 'asVersionIntervals'" #-} diff --git a/ghc-7.10.3.old/libraries/Cabal/Cabal/changelog b/ghc-7.10.3/libraries/Cabal/Cabal/changelog -index f5fb8ff..e3ab68c 100644 +index f5fb8ff..57b3450 100644 --- a/ghc-7.10.3.old/libraries/Cabal/Cabal/changelog +++ b/ghc-7.10.3/libraries/Cabal/Cabal/changelog -@@ -1,3 +1,6 @@ +@@ -1,3 +1,12 @@ ++1.22.7.0 Ryan Thomas January 2016 ++ * Backport #3012 to the 1.22 branch ++ * Cabal.cabal: change build-type to Simple ++ * Add foldl' import ++ * The Cabal part for fully gcc-like response files ++ +1.22.6.0 + * Relax upper bound to allow upcoming binary-0.8 +