Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ghc-snap-core for openSUSE:Factory checked in at 2022-08-01 21:31:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-snap-core (Old) and /work/SRC/openSUSE:Factory/.ghc-snap-core.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-snap-core" Mon Aug 1 21:31:15 2022 rev:5 rq:987145 version:1.0.5.0 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-snap-core/ghc-snap-core.changes 2021-03-28 11:58:03.148313746 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-snap-core.new.1533/ghc-snap-core.changes 2022-08-01 21:32:00.829934444 +0200 @@ -1,0 +2,12 @@ +Wed Apr 20 10:39:19 UTC 2022 - Peter Simons <[email protected]> + +- Update snap-core to version 1.0.5.0 revision 1. + Upstream has revised the Cabal build instructions on Hackage. + +------------------------------------------------------------------- +Wed Mar 2 21:40:29 UTC 2022 - Peter Simons <[email protected]> + +- Update snap-core to version 1.0.5.0. + Upstream does not provide a change log file. + +------------------------------------------------------------------- Old: ---- snap-core-1.0.4.2.tar.gz New: ---- snap-core-1.0.5.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-snap-core.spec ++++++ --- /var/tmp/diff_new_pack.jkp0ME/_old 2022-08-01 21:32:01.585936613 +0200 +++ /var/tmp/diff_new_pack.jkp0ME/_new 2022-08-01 21:32:01.589936625 +0200 @@ -1,7 +1,7 @@ # # spec file for package ghc-snap-core # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # 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 snap-core %bcond_with tests Name: ghc-%{pkg_name} -Version: 1.0.4.2 +Version: 1.0.5.0 Release: 0 Summary: Snap: A Haskell Web Framework (core interfaces and types) License: BSD-3-Clause @@ -101,7 +101,7 @@ %prep %autosetup -n %{pkg_name}-%{version} cp -p %{SOURCE1} %{pkg_name}.cabal -cabal-tweak-dep-ver 'attoparsec' '< 0.14' '< 0.15' +cabal-tweak-dep-ver 'unix-compat' '< 0.6' '< 1' %build %ghc_lib_build ++++++ snap-core-1.0.4.2.tar.gz -> snap-core-1.0.5.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snap-core-1.0.4.2/CONTRIBUTORS new/snap-core-1.0.5.0/CONTRIBUTORS --- old/snap-core-1.0.4.2/CONTRIBUTORS 2001-09-09 03:46:40.000000000 +0200 +++ new/snap-core-1.0.5.0/CONTRIBUTORS 2001-09-09 03:46:40.000000000 +0200 @@ -9,3 +9,4 @@ Jurri??n Stutterheim <[email protected]> Jasper Van der Jeugt <[email protected]> Bryan O'Sullivan <[email protected]> +Koz Ross <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snap-core-1.0.4.2/cbits/timefuncs.c new/snap-core-1.0.5.0/cbits/timefuncs.c --- old/snap-core-1.0.4.2/cbits/timefuncs.c 2001-09-09 03:46:40.000000000 +0200 +++ new/snap-core-1.0.5.0/cbits/timefuncs.c 2001-09-09 03:46:40.000000000 +0200 @@ -10,9 +10,13 @@ } +// When given invalid input, returns 0. time_t c_parse_http_time(char* s) { + if (s == NULL) return 0; struct tm dest; - strptime(s, "%a, %d %b %Y %H:%M:%S GMT", &dest); + if (strptime(s, "%a, %d %b %Y %H:%M:%S GMT", &dest) == NULL) { + return 0; + } return timegm(&dest); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snap-core-1.0.4.2/snap-core.cabal new/snap-core-1.0.5.0/snap-core.cabal --- old/snap-core-1.0.4.2/snap-core.cabal 2001-09-09 03:46:40.000000000 +0200 +++ new/snap-core-1.0.5.0/snap-core.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -1,5 +1,5 @@ name: snap-core -version: 1.0.4.2 +version: 1.0.5.0 synopsis: Snap: A Haskell Web Framework (core interfaces and types) description: @@ -35,8 +35,8 @@ bug-reports: https://github.com/snapframework/snap-core/issues category: Web, Snap, IO-Streams Tested-With: GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, - GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.3, - GHC == 8.8.3, GHC == 8.10.1 + GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, + GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2, GHC == 9.2.1 extra-source-files: test/TestSuite.hs, @@ -112,6 +112,7 @@ Snap.Internal.Debug, Snap.Internal.Http.Types, Snap.Internal.Parsing, + Snap.Internal.Util.FileServe, Snap.Test, Snap.Types.Headers, Snap.Util.CORS, @@ -125,15 +126,14 @@ Snap.Internal.Routing, Snap.Internal.Test.RequestBuilder, Snap.Internal.Test.Assertions, - Snap.Internal.Util.FileServe, Snap.Internal.Util.FileUploads build-depends: HUnit >= 1.2 && < 2, - attoparsec >= 0.12 && < 0.14, + attoparsec >= 0.12 && < 0.15, base >= 4 && < 5, - bytestring >= 0.9 && < 0.11, + bytestring >= 0.9 && < 0.12, bytestring-builder >= 0.10.4 && < 0.11, case-insensitive >= 1.1 && < 1.3, containers >= 0.3 && < 1.0, @@ -148,7 +148,7 @@ readable >= 0.1 && < 0.4, regex-posix >= 0.95 && < 1, text >= 0.11 && < 1.3, - time >= 1.0 && < 1.11, + time >= 1.0 && < 1.14, transformers >= 0.3 && < 0.6, transformers-base >= 0.4 && < 0.5, unix-compat >= 0.3 && < 0.6, @@ -184,7 +184,7 @@ if impl(ghc >= 8.0) ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances else - build-depends: fail == 4.9.*, semigroups == 0.18.* + build-depends: fail == 4.9.*, semigroups >= 0.18 && < 0.20 if flag(network-uri) -- Leaving network-uri-2.7.0.0 out for now because it is marked deprecated @@ -194,6 +194,11 @@ build-depends: network-uri >= 2.5 && < 2.6, network >= 2.3 && < 2.6 + if impl(ghc >= 7.6) + build-depends: unix-compat >= 0.3 && < 0.6 + else + build-depends: unix-compat >= 0.3 && < 0.5.3 + Test-suite testsuite hs-source-dirs: src test @@ -291,7 +296,7 @@ if impl(ghc >= 8.0) ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances else - build-depends: fail == 4.9.*, semigroups == 0.18.* + build-depends: fail == 4.9.*, semigroups >= 0.18 && < 0.20 other-extensions: BangPatterns, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snap-core-1.0.4.2/src/Snap/Internal/Http/Types.hs new/snap-core-1.0.5.0/src/Snap/Internal/Http/Types.hs --- old/snap-core-1.0.4.2/src/Snap/Internal/Http/Types.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/snap-core-1.0.5.0/src/Snap/Internal/Http/Types.hs 2001-09-09 03:46:40.000000000 +0200 @@ -1235,6 +1235,8 @@ ------------------------------------------------------------------------------ -- | Converts an HTTP timestamp into a 'CTime'. -- +-- If the given time string is unparseable, this function will return 0. +-- -- Example: -- -- @ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snap-core-1.0.4.2/src/Snap/Internal/Parsing.hs new/snap-core-1.0.5.0/src/Snap/Internal/Parsing.hs --- old/snap-core-1.0.4.2/src/Snap/Internal/Parsing.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/snap-core-1.0.5.0/src/Snap/Internal/Parsing.hs 2001-09-09 03:46:40.000000000 +0200 @@ -27,7 +27,15 @@ import Data.Maybe (Maybe (..), maybe) import Data.Monoid (Monoid (mconcat, mempty), (<>)) import Data.Word (Word8) -import GHC.Exts (Int (I#), uncheckedShiftRL#, word2Int#) +import GHC.Exts ( Int (I#) + , word2Int# +#if MIN_VERSION_base(4,16,0) + , uncheckedShiftRLWord8# + , word8ToWord# +#else + , uncheckedShiftRL# +#endif + ) import GHC.Word (Word8 (..)) import Prelude (Bool (..), Either (..), Enum (fromEnum, toEnum), Eq (..), Num (..), Ord (..), String, and, any, concatMap, elem, error, filter, flip, foldr, fst, id, map, not, otherwise, show, snd, ($), ($!), (&&), (++), (.), (||)) import Snap.Internal.Http.Types (Cookie (Cookie)) @@ -437,6 +445,9 @@ !hi = toDigit $ (c .&. 0xf0) `shiftr` 4 shiftr (W8# a#) (I# b#) = I# (word2Int# (uncheckedShiftRL# a# b#)) +#if MIN_VERSION_base(4,16,0) + uncheckedShiftRL# a# b# = word8ToWord# (uncheckedShiftRLWord8# a# b#) +#endif ------------------------------------------------------------------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snap-core-1.0.4.2/src/Snap/Internal/Test/RequestBuilder.hs new/snap-core-1.0.5.0/src/Snap/Internal/Test/RequestBuilder.hs --- old/snap-core-1.0.4.2/src/Snap/Internal/Test/RequestBuilder.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/snap-core-1.0.5.0/src/Snap/Internal/Test/RequestBuilder.hs 2001-09-09 03:46:40.000000000 +0200 @@ -19,6 +19,7 @@ , evalHandler , evalHandlerM , get + , head , postMultipart , postRaw , postUrlEncoded @@ -52,6 +53,7 @@ import qualified Data.Map as Map import qualified Data.Vector as V import Data.Word (Word8) +import Prelude hiding (head) import Snap.Core (Cookie (Cookie), Method (DELETE, GET, HEAD, POST, PUT), MonadSnap, Params, Request (rqContentLength, rqContextPath, rqCookies, rqHeaders, rqHostName, rqIsSecure, rqMethod, rqParams, rqPathInfo, rqPostParams, rqQueryParams, rqQueryString, rqURI, rqVersion), Response, Snap, deleteHeader, formatHttpTime, getHeader, parseUrlEncoded, printUrlEncoded, runSnap) import Snap.Internal.Core (evalSnap, fixupResponse) import Snap.Internal.Http.Types (Request (Request, rqBody), Response (rspBody, rspContentLength), rspBodyToEnum) @@ -707,6 +709,30 @@ setQueryString params setRequestPath uri +------------------------------------------------------------------------------ +-- | Builds an HTTP \"HEAD\" request with the given query parameters. +-- +-- Example: +-- +-- @ +-- ghci> :set -XOverloadedStrings +-- ghci> import qualified "Data.Map" as M +-- ghci> 'buildRequest' $ 'head' \"\/foo\/bar\" (M.fromList ("param0", ["baz", "quux"])]) +-- HEAD \/foo\/bar?param0=baz¶m0=quux HTTP\/1.1 +-- host: localhost +-- +-- sn="localhost" c=127.0.0.1:60000 s=127.0.0.1:8080 ctx=\/ clen=n\/a +-- params: param0: ["baz","quux"] +-- @ +-- @since 1.0.4.3 +head :: MonadIO m => + ByteString -- ^ request path + -> Params -- ^ request's form parameters + -> RequestBuilder m () +head uri params = do + setRequestType . RequestWithRawBody HEAD $ "" + setQueryString params + setRequestPath uri ------------------------------------------------------------------------------ -- | Builds an HTTP \"DELETE\" request with the given query parameters. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snap-core-1.0.4.2/src/Snap/Internal/Util/FileServe.hs new/snap-core-1.0.5.0/src/Snap/Internal/Util/FileServe.hs --- old/snap-core-1.0.4.2/src/Snap/Internal/Util/FileServe.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/snap-core-1.0.5.0/src/Snap/Internal/Util/FileServe.hs 2001-09-09 03:46:40.000000000 +0200 @@ -24,6 +24,7 @@ , serveFileAs -- * Internal functions , decodeFilePath + , checkRangeReq ) where ------------------------------------------------------------------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snap-core-1.0.4.2/src/Snap/Test.hs new/snap-core-1.0.5.0/src/Snap/Test.hs --- old/snap-core-1.0.4.2/src/Snap/Test.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/snap-core-1.0.5.0/src/Snap/Test.hs 2001-09-09 03:46:40.000000000 +0200 @@ -19,6 +19,7 @@ -- *** Convenience functions for generating common types of HTTP requests , get + , head , postUrlEncoded , postMultipart , put diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snap-core-1.0.4.2/test/Snap/Test/Tests.hs new/snap-core-1.0.5.0/test/Snap/Test/Tests.hs --- old/snap-core-1.0.4.2/test/Snap/Test/Tests.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/snap-core-1.0.5.0/test/Snap/Test/Tests.hs 2001-09-09 03:46:40.000000000 +0200 @@ -18,7 +18,7 @@ import Data.Text (Text) import Data.Time.Clock (getCurrentTime) import Prelude (Bool (True, False), IO, Int, Maybe (Just, Nothing), Monad (..), Ord (..), const, fail, fromIntegral, return, seq, show, ($), ($!), (*), (.)) -import Snap.Core (Cookie (Cookie, cookieExpires), Method (DELETE, GET, Method, PATCH, POST, PUT), Request (rqContentLength, rqContextPath, rqIsSecure, rqMethod, rqParams, rqPathInfo, rqPostParams, rqQueryParams, rqQueryString, rqURI, rqVersion), Snap, expireCookie, extendTimeout, getCookie, getHeader, getParam, logError, readCookie, redirect, runSnap, terminateConnection, writeBS) +import Snap.Core (Cookie (Cookie, cookieExpires), Method (DELETE, GET, HEAD, Method, PATCH, POST, PUT), Request (rqContentLength, rqContextPath, rqIsSecure, rqMethod, rqParams, rqPathInfo, rqPostParams, rqQueryParams, rqQueryString, rqURI, rqVersion), Snap, expireCookie, extendTimeout, getCookie, getHeader, getParam, logError, readCookie, redirect, runSnap, terminateConnection, writeBS) import Snap.Internal.Http.Types (Request (..), Response (rspCookies)) import qualified Snap.Internal.Http.Types as T import Snap.Internal.Test.RequestBuilder (FileData (FileData), MultipartParam (Files, FormData), RequestBuilder, RequestType (DeleteRequest, GetRequest, MultipartPostRequest, RequestWithRawBody, UrlEncodedPostRequest), addCookies, addHeader, buildRequest, delete, evalHandler, get, postMultipart, postRaw, postUrlEncoded, put, requestToString, responseToString, runHandler, setContentType, setHeader, setHttpVersion, setQueryStringRaw, setRequestPath, setRequestType, setSecure) @@ -104,6 +104,9 @@ request7 <- buildRequest $ setRequestType $ RequestWithRawBody PATCH "bar" assertEqual "setRequestType/7/Method" PATCH (rqMethod request7) + request8 <- buildRequest $ setRequestType $ RequestWithRawBody HEAD "" + assertEqual "setRequestType/8/Method" HEAD (rqMethod request8) + where rt4 = MultipartPostRequest [ ("foo", FormData ["foo"]) , ("bar", Files [fd4]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snap-core-1.0.4.2/test/Snap/Util/CORS/Tests.hs new/snap-core-1.0.5.0/test/Snap/Util/CORS/Tests.hs --- old/snap-core-1.0.4.2/test/Snap/Util/CORS/Tests.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/snap-core-1.0.5.0/test/Snap/Util/CORS/Tests.hs 2001-09-09 03:46:40.000000000 +0200 @@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-warnings-deprecations #-} +{-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} module Snap.Util.CORS.Tests (tests) where @@ -7,7 +8,13 @@ ------------------------------------------------------------------------------ import Data.ByteString.Char8 (ByteString) import Data.CaseInsensitive (CI (..)) +#if !MIN_VERSION_base(4,8,0) +import Data.Functor ((<$>)) +#endif import qualified Data.HashSet as HashSet +import qualified Data.Set as Set +import qualified Data.Text as Text +import qualified Data.Text.Encoding as Text import Snap.Core (Method (..), getHeader, Response(..)) import Snap.Test (RequestBuilder, runHandler, setHeader, setRequestType, RequestType(..), setRequestPath) import Snap.Util.CORS (applyCORS,CORSOptions(..),defaultOptions,HashableMethod(..)) @@ -60,7 +67,7 @@ opts $ return () checkAllowOrigin (Just origin) r checkAllowCredentials (Just "true") r - checkAllowHeaders (Just "X-STUFF, Content-Type") r + checkAllowHeaders (Just "Content-Type, X-STUFF") r checkAllowMethods (Just "GET") r --------------------------------------------------------- s <- runHandler (mkMethReq OPTIONS @@ -97,7 +104,12 @@ checkExposeHeaders = checkHeader "Access-Control-Expose-Headers" checkAllowHeaders :: Maybe ByteString -> Response -> Assertion -checkAllowHeaders = checkHeader "Access-Control-Allow-Headers" +checkAllowHeaders v r = + assertEqual "Header Access-Control-Allow-Headers" + (getSet <$> v) + (getSet <$> getHeader "Access-Control-Allow-Headers" r) + where + getSet = Set.fromList . Text.splitOn ", " . Text.decodeUtf8 checkAllowMethods :: Maybe ByteString -> Response -> Assertion checkAllowMethods = checkHeader "Access-Control-Allow-Methods" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snap-core-1.0.4.2/test/Snap/Util/GZip/Tests.hs new/snap-core-1.0.5.0/test/Snap/Util/GZip/Tests.hs --- old/snap-core-1.0.4.2/test/Snap/Util/GZip/Tests.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/snap-core-1.0.5.0/test/Snap/Util/GZip/Tests.hs 2001-09-09 03:46:40.000000000 +0200 @@ -23,7 +23,7 @@ import Snap.Test.Common (coverTypeableInstance, expectException, expectExceptionH, liftQ) import Snap.Util.GZip (BadAcceptEncodingException, noCompression, withCompression) import qualified System.IO.Streams as Streams -import System.Random (Random (randomIO)) +import System.Random (randomIO) import Test.Framework (Test) import Test.Framework.Providers.HUnit (testCase) import Test.Framework.Providers.QuickCheck2 (testProperty) ++++++ snap-core.cabal ++++++ --- /var/tmp/diff_new_pack.jkp0ME/_old 2022-08-01 21:32:01.713936980 +0200 +++ /var/tmp/diff_new_pack.jkp0ME/_new 2022-08-01 21:32:01.717936992 +0200 @@ -1,5 +1,5 @@ name: snap-core -version: 1.0.4.2 +version: 1.0.5.0 x-revision: 1 synopsis: Snap: A Haskell Web Framework (core interfaces and types) @@ -36,8 +36,8 @@ bug-reports: https://github.com/snapframework/snap-core/issues category: Web, Snap, IO-Streams Tested-With: GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, - GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.3, - GHC == 8.8.3, GHC == 8.10.1 + GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, + GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2, GHC == 9.2.1 extra-source-files: test/TestSuite.hs, @@ -113,6 +113,7 @@ Snap.Internal.Debug, Snap.Internal.Http.Types, Snap.Internal.Parsing, + Snap.Internal.Util.FileServe, Snap.Test, Snap.Types.Headers, Snap.Util.CORS, @@ -126,13 +127,12 @@ Snap.Internal.Routing, Snap.Internal.Test.RequestBuilder, Snap.Internal.Test.Assertions, - Snap.Internal.Util.FileServe, Snap.Internal.Util.FileUploads build-depends: HUnit >= 1.2 && < 2, - attoparsec >= 0.12 && < 0.14, + attoparsec >= 0.12 && < 0.15, base >= 4 && < 5, bytestring >= 0.9 && < 0.12, bytestring-builder >= 0.10.4 && < 0.11, @@ -142,14 +142,14 @@ filepath >= 1.1 && < 2.0, lifted-base >= 0.1 && < 0.3, io-streams >= 1.3 && < 1.6, - hashable >= 1.2.0.6 && < 1.4, + hashable >= 1.2.0.6 && < 1.5, monad-control >= 1.0 && < 1.1, mtl >= 2.0 && < 2.3, random >= 1 && < 2, readable >= 0.1 && < 0.4, regex-posix >= 0.95 && < 1, - text >= 0.11 && < 1.3, - time >= 1.0 && < 1.11, + text >= 0.11 && < 2.1, + time >= 1.0 && < 1.14, transformers >= 0.3 && < 0.6, transformers-base >= 0.4 && < 0.5, unix-compat >= 0.3 && < 0.6, @@ -195,6 +195,11 @@ build-depends: network-uri >= 2.5 && < 2.6, network >= 2.3 && < 2.6 + if impl(ghc >= 7.6) + build-depends: unix-compat >= 0.3 && < 0.6 + else + build-depends: unix-compat >= 0.3 && < 0.5.3 + Test-suite testsuite hs-source-dirs: src test
