Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ghc-protolude for openSUSE:Factory checked in at 2022-08-01 21:31:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-protolude (Old) and /work/SRC/openSUSE:Factory/.ghc-protolude.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-protolude" Mon Aug 1 21:31:11 2022 rev:6 rq:987141 version:0.3.2 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-protolude/ghc-protolude.changes 2022-02-15 23:57:53.996315178 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-protolude.new.1533/ghc-protolude.changes 2022-08-01 21:31:56.737922704 +0200 @@ -1,0 +2,15 @@ +Sun Jun 12 18:31:19 UTC 2022 - Peter Simons <[email protected]> + +- Update protolude to version 0.3.2. + 0.3.2 + ==== + * GHC 9.2.2 support + * Drop export executable + + 0.3.1 + ===== + * GHC 9.0.1 and 9.2.1 support + * Add `HasCallStack` to unsafe* functions. + * Banish `String` on `readMaybe` and `readEither`. + +------------------------------------------------------------------- Old: ---- protolude-0.3.0.tar.gz New: ---- protolude-0.3.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-protolude.spec ++++++ --- /var/tmp/diff_new_pack.DZsZZE/_old 2022-08-01 21:31:57.249924173 +0200 +++ /var/tmp/diff_new_pack.DZsZZE/_new 2022-08-01 21:31:57.253924185 +0200 @@ -18,7 +18,7 @@ %global pkg_name protolude Name: ghc-%{pkg_name} -Version: 0.3.0 +Version: 0.3.2 Release: 0 Summary: A small prelude License: MIT @@ -55,7 +55,6 @@ %prep %autosetup -n %{pkg_name}-%{version} -cabal-tweak-dep-ver transformers-compat '<0.7' '< 1' %build %ghc_lib_build ++++++ protolude-0.3.0.tar.gz -> protolude-0.3.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protolude-0.3.0/ChangeLog.md new/protolude-0.3.2/ChangeLog.md --- old/protolude-0.3.0/ChangeLog.md 2020-03-21 14:19:57.000000000 +0100 +++ new/protolude-0.3.2/ChangeLog.md 2001-09-09 03:46:40.000000000 +0200 @@ -1,3 +1,14 @@ +0.3.2 +==== +* GHC 9.2.2 support +* Drop export executable + +0.3.1 +===== +* GHC 9.0.1 and 9.2.1 support +* Add `HasCallStack` to unsafe* functions. +* Banish `String` on `readMaybe` and `readEither`. + 0.3.0 ===== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protolude-0.3.0/Exports.hs new/protolude-0.3.2/Exports.hs --- old/protolude-0.3.0/Exports.hs 2020-03-21 14:19:57.000000000 +0100 +++ new/protolude-0.3.2/Exports.hs 1970-01-01 01:00:00.000000000 +0100 @@ -1,59 +0,0 @@ -{-# LANGUAGE CPP #-} -module Main - ( main, - ) -where - -import Control.Applicative ((<$>)) -import Control.Monad.Trans -import Data.Foldable (concat) -import qualified Data.List as List -import Data.Maybe -import Data.Ord (comparing) -import DynFlags -import GHC -import GhcMonad -import GHC.Paths -import Outputable -import System.FilePath.Posix -import Prelude hiding (concat, mod) - -autoModule :: FilePath -> IO () -autoModule mod = runGhc (Just GHC.Paths.libdir) $ do - dflags <- GHC.getSessionDynFlags -#if (__GLASGOW_HASKELL__ > 706) - _ <- setSessionDynFlags ( dflags `gopt_set` Opt_GhciSandbox ) -#else - _ <- setSessionDynFlags ( dflags `dopt_set` Opt_GhciSandbox ) -#endif - target <- guessTarget ("src" </> addExtension mod ".hs") Nothing - setTargets [target] - _ <- load LoadAllTargets - modSum <- getModSummary $ mkModuleName mod - p <- GHC.parseModule modSum - t <- typecheckModule p - let modInfo = tm_checked_module_info t - let exports = modInfoExports modInfo - exportThings <- sequence <$> mapM lookupName exports - let sortedThings = List.sortBy (comparing getOccName) (concat exportThings) - GhcMonad.liftIO (mapM_ (showThing dflags) sortedThings) - -showNamed :: NamedThing a => DynFlags -> a -> IO () -showNamed df a = do - let nm = showSDoc df (ppr (getOccName a)) - let mod = showSDoc df (ppr (nameModule (getName a))) - putStrLn (nm ++ " from " ++ mod) - -showThing :: DynFlags -> TyThing -> IO () -showThing df (AnId a) = showNamed df a -#if (__GLASGOW_HASKELL__ > 706) -showThing df (AConLike a) = showNamed df a -#endif -showThing df (ATyCon a) = showNamed df a -showThing _ _ = error "Should never happen." - ---showGhc :: (Outputable a) => a -> String ---showGhc = showPpr unsafeGlobalDynFlags - -main :: IO () -main = autoModule "Protolude" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protolude-0.3.0/README.md new/protolude-0.3.2/README.md --- old/protolude-0.3.0/README.md 2020-03-27 13:40:22.000000000 +0100 +++ new/protolude-0.3.2/README.md 2001-09-09 03:46:40.000000000 +0200 @@ -1,7 +1,6 @@ Protolude ========= -[](https://travis-ci.org/sdiehl/protolude) [](https://github.com/protolude/protolude/actions) [](https://github.com/protolude/protolude/actions) [](https://github.com/protolude/protolude/actions) @@ -31,31 +30,23 @@ Supports: - * GHC 7.6.1 - * GHC 7.6.2 * GHC 7.6.3 - * GHC 7.8.1 - * GHC 7.8.2 - * GHC 7.8.3 * GHC 7.8.4 - * GHC 7.10.1 - * GHC 7.10.2 * GHC 7.10.3 - * GHC 8.0.1 * GHC 8.0.2 - * GHC 8.2.1 + * GHC 8.2.2 * GHC 8.4.1 + * GHC 8.4.4 * GHC 8.6.1 + * GHC 8.6.4 + * GHC 8.6.5 * GHC 8.8.1 * GHC 8.10.1 + * GHC 9.0.1 + * GHC 9.2.1 Stack LTS: -* lts-4.x -* lts-5.x -* lts-6.x -* lts-7.x -* lts-8.x * lts-9.x * lts-10.x * lts-11.x @@ -63,6 +54,8 @@ * lts-13.x * lts-14.x * lts-15.x +* lts-16.x +* lts-17.x Usage ----- @@ -108,7 +101,7 @@ | ----------- | -------- | -------- | | array | 0.4 | 0.6 | | async | 2.0 | 2.3 | -| base | 4.6 | 4.15 | +| base | 4.6 | 4.16 | | bytestring | 0.10 | 0.11 | | containers | 0.5 | 0.7 | | deepseq | 1.3 | 1.5 | @@ -147,11 +140,10 @@ * **How do I write manual Show instances if ``show`` isn't provided?** -Generally speaking writing manual instances of Show is a [Haskell antipattern]( -http://www.stephendiehl.com/posts/strings.html) because it produces -law-violating instances of Show. You probably want to use a [pretty -printer](https://hackage.haskell.org/package/wl-pprint-text) library for custom -printing. +Generally speaking writing manual instances of Show is a +[Haskell antipattern](http://www.stephendiehl.com/posts/strings.html) because it produces +law-violating instances of Show. You probably want to use a +[pretty printer](https://hackage.haskell.org/package/wl-pprint-text) library for custom printing. If backwards compatibility is needed then the base library can be imported manually. @@ -211,7 +203,7 @@ There is a massive test suite that tests all versions of GHC 7.6 - GHC HEAD alongside all Stack resolvers to ensure no regressions. Any pull requests or -patch has to pass the 40 integrity checks before being considered. Any pull +patch has to pass the 47 integrity checks before being considered. Any pull request must keep the export list consistent across GHC and Base version and not have any accidental symbol dropping or drift without updating the export golden tests. @@ -220,4 +212,4 @@ ------- Released under the MIT License. -Copyright (c) 2016-2020, Stephen Diehl +Copyright (c) 2016-2022, Stephen Diehl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protolude-0.3.0/protolude.cabal new/protolude-0.3.2/protolude.cabal --- old/protolude-0.3.0/protolude.cabal 2020-03-28 09:55:52.000000000 +0100 +++ new/protolude-0.3.2/protolude.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -1,27 +1,20 @@ name: protolude -version: 0.3.0 +version: 0.3.2 synopsis: A small prelude. description: A sensible set of defaults for writing custom Preludes. homepage: https://github.com/sdiehl/protolude license: MIT license-file: LICENSE author: Stephen Diehl -maintainer: [email protected] -copyright: 2016-2020 Stephen Diehl +maintainer: [email protected], [email protected] +copyright: 2016-2022 Stephen Diehl category: Prelude build-type: Simple cabal-version: >=1.10 bug-reports: https://github.com/sdiehl/protolude/issues tested-with: - GHC ==7.6.1 - || ==7.6.2 - || ==7.6.3 - || ==7.8.1 - || ==7.8.2 - || ==7.8.3 + GHC ==7.6.3 || ==7.8.4 - || ==7.10.1 - || ==7.10.2 || ==7.10.3 || ==8.0.1 || ==8.2.1 @@ -29,16 +22,13 @@ || ==8.6.1 || ==8.8.1 || ==8.10.1 + || ==9.0.1 + || ==9.2.2 extra-source-files: README.md ChangeLog.md -flag dev - description: Build development tools - manual: True - default: False - source-repository head type: git location: [email protected]:protolude/protolude.git @@ -77,42 +67,21 @@ build-depends: array >=0.4 && <0.6 , async >=2.0 && <2.3 - , base >=4.6 && <4.15 - , bytestring >=0.10 && <0.11 + , base >=4.6 && <4.17 + , bytestring >=0.10 && <0.11.4 , containers >=0.5 && <0.7 , deepseq >=1.3 && <1.5 - , ghc-prim >=0.3 && <0.7 - , hashable >=1.2 && <1.4 + , ghc-prim >=0.3 && <0.9 + , hashable >=1.2 && <1.5 , mtl >=2.1 && <2.3 , mtl-compat >=0.2 && <0.3 , stm >=2.4 && <2.6 - , text >=1.2 && <1.3 + , text >=1.2 && <2.1 , transformers >=0.2 && <0.6 - , transformers-compat >=0.4 && <0.7 + , transformers-compat >=0.4 && <0.8 if !impl(ghc >=8.0) build-depends: fail ==4.9.* hs-source-dirs: src default-language: Haskell2010 - -executable exports - main-is: Exports.hs - default-language: Haskell2010 - - if flag(dev) - buildable: True - - else - buildable: False - - build-depends: - base >=4.6 && <4.15 - , directory - , filepath - , ghc - , ghc-paths - , mtl - , process - , protolude - , transformers diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protolude-0.3.0/src/Protolude/Base.hs new/protolude-0.3.2/src/Protolude/Base.hs --- old/protolude-0.3.0/src/Protolude/Base.hs 2020-03-27 10:11:52.000000000 +0100 +++ new/protolude-0.3.2/src/Protolude/Base.hs 2001-09-09 03:46:40.000000000 +0200 @@ -67,10 +67,12 @@ , fromIntegral , fromRational , gcd -#if MIN_VERSION_base(4,9,0) +#if MIN_VERSION_base(4,9,0) && !MIN_VERSION_base(4,15,0) +#if defined(MIN_VERSION_integer_gmp) , gcdInt' , gcdWord' #endif +#endif , infinity , integralEnumFrom , integralEnumFromThen diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protolude-0.3.0/src/Protolude/ConvertText.hs new/protolude-0.3.2/src/Protolude/ConvertText.hs --- old/protolude-0.3.0/src/Protolude/ConvertText.hs 2020-03-21 14:19:57.000000000 +0100 +++ new/protolude-0.3.2/src/Protolude/ConvertText.hs 2001-09-09 03:46:40.000000000 +0200 @@ -35,6 +35,12 @@ instance ConvertText LT.Text T.Text where toS = LT.toStrict instance ConvertText LT.Text LT.Text where toS = id +instance ConvertText LB.ByteString B.ByteString where toS = LB.toStrict +instance ConvertText LB.ByteString LB.ByteString where toS = id + +instance ConvertText B.ByteString B.ByteString where toS = id +instance ConvertText B.ByteString LB.ByteString where toS = LB.fromStrict + toUtf8 :: ConvertText a T.Text => a -> B.ByteString toUtf8 = encodeUtf8 . toS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protolude-0.3.0/src/Protolude/Unsafe.hs new/protolude-0.3.2/src/Protolude/Unsafe.hs --- old/protolude-0.3.0/src/Protolude/Unsafe.hs 2020-03-21 14:19:57.000000000 +0100 +++ new/protolude-0.3.2/src/Protolude/Unsafe.hs 2001-09-09 03:46:40.000000000 +0200 @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} {-# LANGUAGE Unsafe #-} {-# LANGUAGE NoImplicitPrelude #-} @@ -13,12 +14,44 @@ ) where import Protolude.Base (Int) + +#if ( __GLASGOW_HASKELL__ >= 800 ) +import Protolude.Base (HasCallStack) +#endif import Data.Char (Char) import Text.Read (Read, read) import qualified Data.List as List import qualified Data.Maybe as Maybe import qualified Control.Exception as Exc +unsafeThrow :: Exc.Exception e => e -> a +unsafeThrow = Exc.throw + +#if ( __GLASGOW_HASKELL__ >= 800 ) +unsafeHead :: HasCallStack => [a] -> a +unsafeHead = List.head + +unsafeTail :: HasCallStack => [a] -> [a] +unsafeTail = List.tail + +unsafeInit :: HasCallStack => [a] -> [a] +unsafeInit = List.init + +unsafeLast :: HasCallStack => [a] -> a +unsafeLast = List.last + +unsafeFromJust :: HasCallStack => Maybe.Maybe a -> a +unsafeFromJust = Maybe.fromJust + +unsafeIndex :: HasCallStack => [a] -> Int -> a +unsafeIndex = (List.!!) + +unsafeRead :: (HasCallStack, Read a) => [Char] -> a +unsafeRead = Text.Read.read +#endif + + +#if ( __GLASGOW_HASKELL__ < 800 ) unsafeHead :: [a] -> a unsafeHead = List.head @@ -37,8 +70,6 @@ unsafeIndex :: [a] -> Int -> a unsafeIndex = (List.!!) -unsafeThrow :: Exc.Exception e => e -> a -unsafeThrow = Exc.throw - unsafeRead :: Read a => [Char] -> a unsafeRead = Text.Read.read +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protolude-0.3.0/src/Protolude.hs new/protolude-0.3.2/src/Protolude.hs --- old/protolude-0.3.0/src/Protolude.hs 2020-03-21 14:19:57.000000000 +0100 +++ new/protolude-0.3.2/src/Protolude.hs 2001-09-09 03:46:40.000000000 +0200 @@ -128,6 +128,8 @@ -- * Read functions module Read, + readMaybe, + readEither, -- * System functions module System, @@ -153,6 +155,7 @@ import Protolude.Panic as Panic import Protolude.Exceptions as Exception import Protolude.Semiring as Semiring +import qualified Protolude.Conv as Conv import Protolude.Base as Base hiding ( putStr -- Overriden by Show.putStr @@ -267,8 +270,6 @@ import Data.Semigroup as Semigroup ( Semigroup(sconcat, stimes) , WrappedMonoid - , Option(..) - , option , diff , cycle1 , stimesMonoid @@ -278,6 +279,13 @@ ) #endif +#if MIN_VERSION_base(4,9,0) && !MIN_VERSION_base(4,16,0) +import Data.Semigroup as Semigroup ( + Option(..) + , option + ) +#endif + import Data.Monoid as Monoid #if !MIN_VERSION_base(4,8,0) @@ -308,6 +316,8 @@ , break , intercalate , isPrefixOf + , isInfixOf + , isSuffixOf , drop , filter , reverse @@ -908,11 +918,10 @@ import Foreign.StablePtr as Foreign (StablePtr) -- Read instances hiding unsafe builtins (read) +import qualified Text.Read as Read import Text.Read as Read ( Read , reads - , readMaybe - , readEither ) -- Type synonymss for lazy texts @@ -949,6 +958,29 @@ applyN :: Int -> (a -> a) -> a -> a applyN n f = Foldable.foldr (.) identity (List.replicate n f) +-- | Parse a string using the 'Read' instance. +-- Succeeds if there is exactly one valid result. +-- +-- >>> readMaybe ("123" :: Text) :: Maybe Int +-- Just 123 +-- +-- >>> readMaybe ("hello" :: Text) :: Maybe Int +-- Nothing +readMaybe :: (Read b, Conv.StringConv a String) => a -> Maybe b +readMaybe = Read.readMaybe . Conv.toS + +-- | Parse a string using the 'Read' instance. +-- Succeeds if there is exactly one valid result. +-- A 'Left' value indicates a parse error. +-- +-- >>> readEither "123" :: Either Text Int +-- Right 123 +-- +-- >>> readEither "hello" :: Either Text Int +-- Left "Prelude.read: no parse" +readEither :: (Read a, Conv.StringConv String e, Conv.StringConv e String) => e -> Either e a +readEither = first Conv.toS . Read.readEither . Conv.toS + -- | The print function outputs a value of any printable type to the standard -- output device. Printable types are those that are instances of class Show; -- print converts values to strings for output using the show operation and adds @@ -982,8 +1014,8 @@ liftIO2 :: MonadIO m => (a -> b -> IO c) -> a -> b -> m c liftIO2 = ((.).(.)) liftIO -show :: (Show a, ConvertText String b) => a -> b -show x = ConvertText.toS (PBase.show x) +show :: (Show a, Conv.StringConv String b) => a -> b +show x = Conv.toS (PBase.show x) {-# SPECIALIZE show :: Show a => a -> Text #-} {-# SPECIALIZE show :: Show a => a -> LText #-} {-# SPECIALIZE show :: Show a => a -> String #-}
