Hello community, here is the log from the commit of package ghc-haskell-src for openSUSE:Factory checked in at 2015-05-21 08:11:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-haskell-src (Old) and /work/SRC/openSUSE:Factory/.ghc-haskell-src.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-haskell-src" Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-haskell-src/ghc-haskell-src.changes 2014-11-26 20:54:49.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-haskell-src.new/ghc-haskell-src.changes 2015-05-21 08:11:34.000000000 +0200 @@ -1,0 +2,8 @@ +Tue Apr 14 08:37:07 UTC 2015 - [email protected] + +- update to 1.0.2.0 +* Add support for GHC 7.10 & base-4.8) +* Add missing `Functor` & `Applicative` instances for `P` and `Lex` + monads needed for AMP compatibility. + +------------------------------------------------------------------- Old: ---- haskell-src-1.0.1.6.tar.gz New: ---- haskell-src-1.0.2.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-haskell-src.spec ++++++ --- /var/tmp/diff_new_pack.kEtUgd/_old 2015-05-21 08:11:35.000000000 +0200 +++ /var/tmp/diff_new_pack.kEtUgd/_new 2015-05-21 08:11:35.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package ghc-haskell-src # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %global pkg_name haskell-src Name: ghc-haskell-src -Version: 1.0.1.6 +Version: 1.0.2.0 Release: 0 Summary: Support for manipulating Haskell source code License: BSD-3-Clause @@ -31,6 +31,7 @@ BuildRequires: ghc-Cabal-devel BuildRequires: ghc-rpm-macros +BuildRequires: happy # Begin cabal-rpm deps: BuildRequires: ghc-array-devel BuildRequires: ghc-pretty-devel ++++++ haskell-src-1.0.1.6.tar.gz -> haskell-src-1.0.2.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haskell-src-1.0.1.6/Language/Haskell/ParseMonad.hs new/haskell-src-1.0.2.0/Language/Haskell/ParseMonad.hs --- old/haskell-src-1.0.1.6/Language/Haskell/ParseMonad.hs 2014-04-10 06:06:00.000000000 +0200 +++ new/haskell-src-1.0.2.0/Language/Haskell/ParseMonad.hs 2015-01-24 23:43:27.000000000 +0100 @@ -27,7 +27,9 @@ import Language.Haskell.Syntax(SrcLoc(..)) import Control.Applicative +import Control.Monad (ap, liftM) import Data.Monoid +import Prelude -- | The result of a parse. data ParseResult a @@ -111,6 +113,13 @@ runParser :: P a -> String -> ParseResult a runParser = runParserWithMode defaultParseMode +instance Functor P where + fmap = liftM + +instance Applicative P where + pure = return + (<*>) = ap + instance Monad P where return a = P $ \_i _x _y _l s _m -> Ok s a P m >>= k = P $ \i x y l s mode -> @@ -156,6 +165,13 @@ newtype Lex r a = Lex { runL :: (a -> P r) -> P r } +instance Functor (Lex r) where + fmap = liftM + +instance Applicative (Lex r) where + pure = return + (<*>) = ap + instance Monad (Lex r) where return a = Lex $ \k -> k a Lex v >>= f = Lex $ \k -> v (\a -> runL (f a) k) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haskell-src-1.0.1.6/Language/Haskell/Pretty.hs new/haskell-src-1.0.2.0/Language/Haskell/Pretty.hs --- old/haskell-src-1.0.1.6/Language/Haskell/Pretty.hs 2014-04-10 06:06:00.000000000 +0200 +++ new/haskell-src-1.0.2.0/Language/Haskell/Pretty.hs 2015-01-24 23:43:27.000000000 +0100 @@ -24,6 +24,9 @@ import Language.Haskell.Syntax +import Control.Applicative (Applicative(..)) +import Control.Monad (ap) + import qualified Text.PrettyPrint as P infixl 5 $$$ @@ -91,6 +94,10 @@ instance Functor (DocM s) where fmap f xs = do x <- xs; return (f x) +instance Applicative (DocM s) where + pure = return + (<*>) = ap + instance Monad (DocM s) where (>>=) = thenDocM (>>) = then_DocM diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haskell-src-1.0.1.6/changelog.md new/haskell-src-1.0.2.0/changelog.md --- old/haskell-src-1.0.1.6/changelog.md 1970-01-01 01:00:00.000000000 +0100 +++ new/haskell-src-1.0.2.0/changelog.md 2015-01-24 23:43:27.000000000 +0100 @@ -0,0 +1,6 @@ +# 1.0.2.0 + + - Add support for GHC 7.10 & base-4.8) + + - Add missing `Functor` & `Applicative` instances for `P` and `Lex` + monads needed for AMP compatibility. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haskell-src-1.0.1.6/dist/build/Language/Haskell/Parser.hs new/haskell-src-1.0.2.0/dist/build/Language/Haskell/Parser.hs --- old/haskell-src-1.0.1.6/dist/build/Language/Haskell/Parser.hs 2014-04-10 06:06:00.000000000 +0200 +++ new/haskell-src-1.0.2.0/dist/build/Language/Haskell/Parser.hs 2015-01-24 23:43:27.000000000 +0100 @@ -22,8 +22,10 @@ import Language.Haskell.ParseUtils import qualified Data.Array as Happy_Data_Array import qualified GHC.Exts as Happy_GHC_Exts +import Control.Applicative(Applicative(..)) +import Control.Monad (ap) --- parser produced by Happy Version 1.19.0 +-- parser produced by Happy Version 1.19.5 newtype HappyAbsSyn = HappyAbsSyn HappyAny #if __GLASGOW_HASKELL__ >= 607 @@ -3803,6 +3805,73 @@ {-# LINE 1 "templates/GenericTemplate.hs" #-} {-# LINE 1 "<built-in>" #-} {-# LINE 1 "<command-line>" #-} +{-# LINE 11 "<command-line>" #-} +# 1 "/usr/include/stdc-predef.h" 1 3 4 + +# 17 "/usr/include/stdc-predef.h" 3 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{-# LINE 11 "<command-line>" #-} +{-# LINE 1 "/opt/ghc/7.10.1/lib/ghc-7.10.0.20150123/include/ghcversion.h" #-} + + + + + + + + + + + + + + + + + + +{-# LINE 11 "<command-line>" #-} {-# LINE 1 "templates/GenericTemplate.hs" #-} -- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp @@ -3812,6 +3881,7 @@ +-- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex. #if __GLASGOW_HASKELL__ > 706 #define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Bool) #define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Bool) @@ -3821,7 +3891,7 @@ #define GTE(n,m) (n Happy_GHC_Exts.>=# m) #define EQ(n,m) (n Happy_GHC_Exts.==# m) #endif -{-# LINE 45 "templates/GenericTemplate.hs" #-} +{-# LINE 46 "templates/GenericTemplate.hs" #-} data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList @@ -3830,11 +3900,11 @@ -{-# LINE 66 "templates/GenericTemplate.hs" #-} +{-# LINE 67 "templates/GenericTemplate.hs" #-} -{-# LINE 76 "templates/GenericTemplate.hs" #-} +{-# LINE 77 "templates/GenericTemplate.hs" #-} -{-# LINE 85 "templates/GenericTemplate.hs" #-} +{-# LINE 86 "templates/GenericTemplate.hs" #-} infixr 9 `HappyStk` data HappyStk a = HappyStk a (HappyStk a) @@ -3851,9 +3921,9 @@ -- parse (a %partial parser). We must ignore the saved token on the top of -- the stack in this case. happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) = - happyReturn1 ans + happyReturn1 ans happyAccept j tk st sts (HappyStk ans _) = - (happyTcHack j (happyTcHack st)) (happyReturn1 ans) + (happyTcHack j (happyTcHack st)) (happyReturn1 ans) ----------------------------------------------------------------------------- -- Arrays only: do the next action @@ -3861,35 +3931,35 @@ happyDoAction i tk st - = {- nothing -} + = {- nothing -} - case action of - 0# -> {- nothing -} - happyFail i tk st - -1# -> {- nothing -} - happyAccept i tk st - n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -} + case action of + 0# -> {- nothing -} + happyFail i tk st + -1# -> {- nothing -} + happyAccept i tk st + n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -} - (happyReduceArr Happy_Data_Array.! rule) i tk st - where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#)))))) - n -> {- nothing -} + (happyReduceArr Happy_Data_Array.! rule) i tk st + where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#)))))) + n -> {- nothing -} - happyShift new_state i tk st + happyShift new_state i tk st where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) where off = indexShortOffAddr happyActOffsets st off_i = (off Happy_GHC_Exts.+# i) - check = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#)) + check = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#)) then EQ(indexShortOffAddr happyCheck off_i, i) - else False + else False action | check = indexShortOffAddr happyTable off_i | otherwise = indexShortOffAddr happyDefActions st indexShortOffAddr (HappyA# arr) off = - Happy_GHC_Exts.narrow16Int# i + Happy_GHC_Exts.narrow16Int# i where i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low) high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#))) @@ -3908,7 +3978,7 @@ ----------------------------------------------------------------------------- -- HappyState data type (not arrays) -{-# LINE 169 "templates/GenericTemplate.hs" #-} +{-# LINE 170 "templates/GenericTemplate.hs" #-} ----------------------------------------------------------------------------- -- Shifting a token @@ -3950,9 +4020,9 @@ = happyFail 0# tk st sts stk happyReduce k nt fn j tk st sts stk = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of - sts1@((HappyCons (st1@(action)) (_))) -> - let r = fn stk in -- it doesn't hurt to always seq here... - happyDoSeq r (happyGoto nt j tk st1 sts1 r) + sts1@((HappyCons (st1@(action)) (_))) -> + let r = fn stk in -- it doesn't hurt to always seq here... + happyDoSeq r (happyGoto nt j tk st1 sts1 r) happyMonadReduce k nt fn 0# tk st sts stk = happyFail 0# tk st sts stk @@ -4004,7 +4074,7 @@ -- parse error if we are in recovery and we fail again happyFail 0# tk old_st _ stk@(x `HappyStk` _) = let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in --- trace "failing" $ +-- trace "failing" $ happyError_ i tk {- We don't need state discarding for our restricted implementation of @@ -4013,16 +4083,16 @@ -- discard a state happyFail 0# tk old_st (HappyCons ((action)) (sts)) - (saved_tok `HappyStk` _ `HappyStk` stk) = --- trace ("discarding state, depth " ++ show (length stk)) $ - happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk)) + (saved_tok `HappyStk` _ `HappyStk` stk) = +-- trace ("discarding state, depth " ++ show (length stk)) $ + happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk)) -} -- Enter error recovery: generate an error token, -- save the old token and carry on. happyFail i tk (action) sts stk = -- trace "entering error recovery" $ - happyDoAction 0# tk action sts ( (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk) + happyDoAction 0# tk action sts ( (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk) -- Internal happy errors: @@ -4040,9 +4110,9 @@ ----------------------------------------------------------------------------- -- Seq-ing. If the --strict flag is given, then Happy emits --- happySeq = happyDoSeq +-- happySeq = happyDoSeq -- otherwise it emits --- happySeq = happyDontSeq +-- happySeq = happyDontSeq happyDoSeq, happyDontSeq :: a -> b -> b happyDoSeq a b = a `seq` b diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haskell-src-1.0.1.6/haskell-src.cabal new/haskell-src-1.0.2.0/haskell-src.cabal --- old/haskell-src-1.0.1.6/haskell-src.cabal 2014-04-10 06:06:00.000000000 +0200 +++ new/haskell-src-1.0.2.0/haskell-src.cabal 2015-01-24 23:43:27.000000000 +0100 @@ -1,10 +1,12 @@ name: haskell-src -version: 1.0.1.6 +-- don't forget to update the changelog.md! +version: 1.0.2.0 license: BSD3 license-file: LICENSE author: Simon Marlow, Sven Panne and Noel Winstanley -- Maintained through https://github.com/haskell-pkg-janitors. Join us! -maintainer: Conrad Parker <[email protected]> +maintainer: Herbert Valerio Riedel <[email protected]> +bug-reports: https://github.com/haskell-pkg-janitors/haskell-src/issues category: Language synopsis: Support for manipulating Haskell source code description: @@ -16,11 +18,13 @@ build-type: Simple cabal-version: >=1.6 +extra-source-files: changelog.md + flag split-base source-repository head type: git - location: git://github.com/haskell-pkg-janitors/haskell-src.git + location: https://github.com/haskell-pkg-janitors/haskell-src.git library exposed-modules: @@ -30,10 +34,14 @@ Language.Haskell.Pretty, Language.Haskell.Syntax, Language.Haskell.ParseUtils + if flag(split-base) build-depends: base >= 4 && < 5, syb, pretty, array else build-depends: base < 3 + + build-tools: happy + extensions: CPP nhc98-options: -K11M ghc-options: -Wall -O2
