From fc77ca238ed055a2d81716cc533fbe266aa9ad54 Mon Sep 17 00:00:00 2001 From: ncaq Date: Mon, 13 Apr 2020 20:45:45 +0900 Subject: [PATCH 1/7] updated: lts to 15 --- .travis.yml | 7 ++- .../Model.hs | 3 ++ .../ServerSession/Backend/Acid/Internal.hs | 26 ++++----- .../Backend/Persistent/Internal/Impl.hs | 10 +++- .../serversession-backend-redis.cabal | 2 +- serversession/serversession.cabal | 1 + .../Web/ServerSession/Core/StorageTests.hs | 9 ++-- stack.yaml | 44 +++++++-------- stack.yaml.lock | 54 +++++++++++++++++++ 9 files changed, 111 insertions(+), 45 deletions(-) create mode 100644 stack.yaml.lock diff --git a/.travis.yml b/.travis.yml index 1e67206..1d712c9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,12 +10,12 @@ dist: trusty language: c services: - - redis-server + - redis-server addons: apt: packages: - - libgmp-dev + - libgmp-dev postgresql: "9.3" cache: @@ -25,8 +25,7 @@ cache: matrix: include: - - env: STACKARGS="--resolver=lts-11" - - env: STACKARGS="--resolver=lts-12" + - env: STACKARGS="--resolver=lts-15" - env: STACKARGS="--resolver=nightly" allow_failures: - env: STACKARGS="--resolver=nightly" diff --git a/examples/serversession-example-yesod-persistent/Model.hs b/examples/serversession-example-yesod-persistent/Model.hs index cbe20c4..91ab7b5 100644 --- a/examples/serversession-example-yesod-persistent/Model.hs +++ b/examples/serversession-example-yesod-persistent/Model.hs @@ -1,3 +1,6 @@ +{-# LANGUAGE DerivingStrategies #-} +{-# LANGUAGE StandaloneDeriving #-} +{-# LANGUAGE UndecidableInstances #-} module Model where import ClassyPrelude.Yesod diff --git a/serversession-backend-acid-state/src/Web/ServerSession/Backend/Acid/Internal.hs b/serversession-backend-acid-state/src/Web/ServerSession/Backend/Acid/Internal.hs index 4b353db..3f06379 100644 --- a/serversession-backend-acid-state/src/Web/ServerSession/Backend/Acid/Internal.hs +++ b/serversession-backend-acid-state/src/Web/ServerSession/Backend/Acid/Internal.hs @@ -109,14 +109,14 @@ instance SafeCopy SS.SessionMap where -- | We can't @deriveSafeCopy 0 'base ''SS.SessionId@ as -- otherwise we'd require an unneeded @SafeCopy sess@. -instance SafeCopy (SS.SessionId sess) where +instance Typeable sess => SafeCopy (SS.SessionId sess) where putCopy = contain . safePut . SSI.unS getCopy = contain $ SSI.S <$> safeGet -- | We can't @deriveSafeCopy 0 'base ''SS.Session@ due to the -- required context. -instance SafeCopy (SS.Decomposed sess) => SafeCopy (SS.Session sess) where +instance (Typeable sess, SafeCopy (SS.Decomposed sess)) => SafeCopy (SS.Session sess) where putCopy (SS.Session key authId data_ createdAt accessedAt) = contain $ do put_t <- getSafePut safePut key @@ -136,7 +136,7 @@ instance SafeCopy (SS.Decomposed sess) => SafeCopy (SS.Session sess) where -- | We can't @deriveSafeCopy 0 'base ''ServerSessionAcidState@ due -- to the required context. -instance SafeCopy (SS.Decomposed sess) => SafeCopy (ServerSessionAcidState sess) where +instance (Typeable sess, SafeCopy (SS.Decomposed sess)) => SafeCopy (ServerSessionAcidState sess) where putCopy (ServerSessionAcidState sits aits) = contain $ do safePut (HM.toList sits) safePut (HM.toList aits) @@ -273,23 +273,23 @@ data DeleteAllSessionsOfAuthId sess = DeleteAllSessionsOfAuthId SS.AuthId derivi data InsertSession sess = InsertSession (SS.Session sess) deriving (Typeable) data ReplaceSession sess = ReplaceSession (SS.Session sess) deriving (Typeable) -instance SafeCopy (GetSession sess) where +instance Typeable sess => SafeCopy (GetSession sess) where putCopy (GetSession v) = contain $ safePut v getCopy = contain $ GetSession <$> safeGet -instance SafeCopy (DeleteSession sess) where +instance Typeable sess => SafeCopy (DeleteSession sess) where putCopy (DeleteSession v) = contain $ safePut v getCopy = contain $ DeleteSession <$> safeGet -instance SafeCopy (DeleteAllSessionsOfAuthId sess) where +instance Typeable sess => SafeCopy (DeleteAllSessionsOfAuthId sess) where putCopy (DeleteAllSessionsOfAuthId v) = contain $ safePut v getCopy = contain $ DeleteAllSessionsOfAuthId <$> safeGet -instance SafeCopy (SS.Decomposed sess) => SafeCopy (InsertSession sess) where +instance (Typeable sess, SafeCopy (SS.Decomposed sess)) => SafeCopy (InsertSession sess) where putCopy (InsertSession v) = contain $ safePut v getCopy = contain $ InsertSession <$> safeGet -instance SafeCopy (SS.Decomposed sess) => SafeCopy (ReplaceSession sess) where +instance (Typeable sess, SafeCopy (SS.Decomposed sess)) => SafeCopy (ReplaceSession sess) where putCopy (ReplaceSession v) = contain $ safePut v getCopy = contain $ ReplaceSession <$> safeGet @@ -322,8 +322,8 @@ instance AcidContext sess => Method (ReplaceSession sess) where instance AcidContext sess => IsAcidic (ServerSessionAcidState sess) where acidEvents = - [ QueryEvent $ \(GetSession sid) -> getSession sid - , UpdateEvent $ \(DeleteSession sid) -> deleteSession sid - , UpdateEvent $ \(DeleteAllSessionsOfAuthId authId) -> deleteAllSessionsOfAuthId authId - , UpdateEvent $ \(InsertSession session) -> insertSession session - , UpdateEvent $ \(ReplaceSession session) -> replaceSession session ] + [ QueryEvent (\(GetSession sid) -> getSession sid) safeCopyMethodSerialiser + , UpdateEvent (\(DeleteSession sid) -> deleteSession sid) safeCopyMethodSerialiser + , UpdateEvent (\(DeleteAllSessionsOfAuthId authId) -> deleteAllSessionsOfAuthId authId) safeCopyMethodSerialiser + , UpdateEvent (\(InsertSession session) -> insertSession session) safeCopyMethodSerialiser + , UpdateEvent (\(ReplaceSession session) -> replaceSession session) safeCopyMethodSerialiser ] diff --git a/serversession-backend-persistent/src/Web/ServerSession/Backend/Persistent/Internal/Impl.hs b/serversession-backend-persistent/src/Web/ServerSession/Backend/Persistent/Internal/Impl.hs index 623857c..36cc39e 100644 --- a/serversession-backend-persistent/src/Web/ServerSession/Backend/Persistent/Internal/Impl.hs +++ b/serversession-backend-persistent/src/Web/ServerSession/Backend/Persistent/Internal/Impl.hs @@ -96,6 +96,7 @@ instance forall sess. P.PersistFieldSql (Decomposed sess) => P.PersistEntity (Pe ["Eq", "Ord", "Show", "Typeable"] M.mempty False + Nothing where pfd :: P.EntityField (PersistentSession sess) typ -> P.FieldDef pfd = P.persistFieldDef @@ -142,8 +143,10 @@ instance forall sess. P.PersistFieldSql (Decomposed sess) => P.PersistEntity (Pe (P.SqlOther "SqlType unset for key") [] True - P.NoReference] + P.NoReference + Nothing] [])) + Nothing persistFieldDef PersistentSessionKey = P.FieldDef (P.HaskellName "key") @@ -153,6 +156,7 @@ instance forall sess. P.PersistFieldSql (Decomposed sess) => P.PersistEntity (Pe ["maxlen=30"] True P.NoReference + Nothing persistFieldDef PersistentSessionAuthId = P.FieldDef (P.HaskellName "authId") @@ -162,6 +166,7 @@ instance forall sess. P.PersistFieldSql (Decomposed sess) => P.PersistEntity (Pe ["Maybe", "default=NULL"] True P.NoReference + Nothing persistFieldDef PersistentSessionSession = P.FieldDef (P.HaskellName "session") @@ -171,6 +176,7 @@ instance forall sess. P.PersistFieldSql (Decomposed sess) => P.PersistEntity (Pe [] True P.NoReference + Nothing persistFieldDef PersistentSessionCreatedAt = P.FieldDef (P.HaskellName "createdAt") @@ -180,6 +186,7 @@ instance forall sess. P.PersistFieldSql (Decomposed sess) => P.PersistEntity (Pe [] True P.NoReference + Nothing persistFieldDef PersistentSessionAccessedAt = P.FieldDef (P.HaskellName "accessedAt") @@ -189,6 +196,7 @@ instance forall sess. P.PersistFieldSql (Decomposed sess) => P.PersistEntity (Pe [] True P.NoReference + Nothing persistIdField = PersistentSessionId diff --git a/serversession-backend-redis/serversession-backend-redis.cabal b/serversession-backend-redis/serversession-backend-redis.cabal index 7281279..584d3bd 100644 --- a/serversession-backend-redis/serversession-backend-redis.cabal +++ b/serversession-backend-redis/serversession-backend-redis.cabal @@ -27,7 +27,7 @@ library build-depends: base == 4.* , bytestring - , hedis < 0.11 + , hedis < 0.13 , path-pieces , tagged >= 0.7 , text diff --git a/serversession/serversession.cabal b/serversession/serversession.cabal index e0a38e5..d9ce51c 100644 --- a/serversession/serversession.cabal +++ b/serversession/serversession.cabal @@ -29,6 +29,7 @@ library , hashable , nonce == 1.0.* , path-pieces + , persistent-test , text , time , transformers diff --git a/serversession/src/Web/ServerSession/Core/StorageTests.hs b/serversession/src/Web/ServerSession/Core/StorageTests.hs index 875d1b1..b7e7fda 100644 --- a/serversession/src/Web/ServerSession/Core/StorageTests.hs +++ b/serversession/src/Web/ServerSession/Core/StorageTests.hs @@ -10,6 +10,7 @@ module Web.ServerSession.Core.StorageTests import Control.Applicative as A import Control.Exception (Exception) import Control.Monad +import DataTypeTest (roundUTCTime) import Web.ServerSession.Core.Internal import qualified Crypto.Nonce as N @@ -173,8 +174,8 @@ allStorageTests storage it runIO parallel _shouldBe shouldReturn shouldThrow = d { sessionKey = sid , sessionAuthId = Nothing , sessionData = SessionMap $ HM.fromList vals - , sessionCreatedAt = now - , sessionAccessedAt = now + , sessionCreatedAt = roundUTCTime now + , sessionAccessedAt = roundUTCTime now } ver2 = session { sessionData = SessionMap HM.empty } run (getSession storage sid) `shouldReturn` Nothing @@ -223,8 +224,8 @@ generateSession gen hasAuthId = do { sessionKey = sid , sessionAuthId = authId , sessionData = SessionMap data_ - , sessionCreatedAt = TI.addUTCTime (-1000) now - , sessionAccessedAt = now + , sessionCreatedAt = roundUTCTime $ TI.addUTCTime (-1000) now + , sessionAccessedAt = roundUTCTime $ now } data HasAuthId = HasAuthId | NoAuthId diff --git a/stack.yaml b/stack.yaml index fd71006..055ac39 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,4 +1,18 @@ -resolver: lts-12.13 +flags: + serversession-backend-acid-state: + lib-Werror: true + serversession-frontend-wai: + lib-Werror: true + serversession-backend-persistent: + lib-Werror: true + serversession: + lib-Werror: true + serversession-backend-redis: + lib-Werror: true + serversession-frontend-yesod: + lib-Werror: true + serversession-frontend-snap: + lib-Werror: true packages: - serversession - serversession-backend-acid-state @@ -8,25 +22,11 @@ packages: - serversession-frontend-wai - serversession-frontend-yesod - examples/serversession-example-yesod-persistent -flags: - serversession: - lib-Werror: true - serversession-backend-acid-state: - lib-Werror: true - serversession-backend-persistent: - lib-Werror: true - serversession-backend-redis: - lib-Werror: true - serversession-frontend-snap: - lib-Werror: true - serversession-frontend-wai: - lib-Werror: true - serversession-frontend-yesod: - lib-Werror: true extra-deps: - - acid-state-0.14.3 - - snap-1.1.1.0 - - heist-1.1 - - map-syntax-0.3 - - pwstore-fast-2.4.4 - - xmlhtml-0.2.5.2 + - snap-1.1.3.0@sha256:0c0814d2ab1c3d5f22cef4615b2913ded18e87710ea6febdbe6e3ab8d9838735,8872 + - acid-state-0.16.0@sha256:a5640fd8d99bdb5f152476a2ae56cc8eb81864b280c8ec7d1387e81296ed844d,6190 + - heist-1.1.0.1@sha256:7355cf8c1a7ef84c0c800c0539f7b99e7e540cace697238009a2dea1f05231f1,9311 + - map-syntax-0.3@sha256:ca8b449615fa57419c16a5e98844624a6ac758692b87b3cfae8c74c87c56f1b2,2420 + - pwstore-fast-2.4.4@sha256:9b6a37510d8b9f37f409a8ab3babac9181afcaaa3fce8ba1c131a7ed3de30698,1351 + - xmlhtml-0.2.5.2@sha256:3f0990f725551985d777e8edb5563fe99aee998f1fde6a7633f720f76df54701,46997 +resolver: lts-15.8 diff --git a/stack.yaml.lock b/stack.yaml.lock new file mode 100644 index 0000000..3da7d60 --- /dev/null +++ b/stack.yaml.lock @@ -0,0 +1,54 @@ +# This file was autogenerated by Stack. +# You should not edit this file by hand. +# For more information, please see the documentation at: +# https://docs.haskellstack.org/en/stable/lock_files + +packages: +- completed: + hackage: snap-1.1.3.0@sha256:0c0814d2ab1c3d5f22cef4615b2913ded18e87710ea6febdbe6e3ab8d9838735,8872 + pantry-tree: + size: 5743 + sha256: 804f55a8cab81e720547308e799243e81f43e089b860c0d3160a938cad86ed0d + original: + hackage: snap-1.1.3.0@sha256:0c0814d2ab1c3d5f22cef4615b2913ded18e87710ea6febdbe6e3ab8d9838735,8872 +- completed: + hackage: acid-state-0.16.0@sha256:a5640fd8d99bdb5f152476a2ae56cc8eb81864b280c8ec7d1387e81296ed844d,6190 + pantry-tree: + size: 13678 + sha256: c6e4b7f00d2a500e6286beafe3a2da7ba898a9ea31f5744df57cdce8a8f5890f + original: + hackage: acid-state-0.16.0@sha256:a5640fd8d99bdb5f152476a2ae56cc8eb81864b280c8ec7d1387e81296ed844d,6190 +- completed: + hackage: heist-1.1.0.1@sha256:7355cf8c1a7ef84c0c800c0539f7b99e7e540cace697238009a2dea1f05231f1,9311 + pantry-tree: + size: 7354 + sha256: a2635ed49de6debaf8b98189989f83ab58dcc125c6ae8e57f6fe0903bc7fa8ff + original: + hackage: heist-1.1.0.1@sha256:7355cf8c1a7ef84c0c800c0539f7b99e7e540cace697238009a2dea1f05231f1,9311 +- completed: + hackage: map-syntax-0.3@sha256:ca8b449615fa57419c16a5e98844624a6ac758692b87b3cfae8c74c87c56f1b2,2420 + pantry-tree: + size: 558 + sha256: c196bee0433f9540e4251ebd1be06d802ff7cc4931e6f0aedc38babd28683a3c + original: + hackage: map-syntax-0.3@sha256:ca8b449615fa57419c16a5e98844624a6ac758692b87b3cfae8c74c87c56f1b2,2420 +- completed: + hackage: pwstore-fast-2.4.4@sha256:9b6a37510d8b9f37f409a8ab3babac9181afcaaa3fce8ba1c131a7ed3de30698,1351 + pantry-tree: + size: 270 + sha256: ff4a44ede62515efe5cd366a5803f7183c811c4a0cf56eea88da94181c4844c0 + original: + hackage: pwstore-fast-2.4.4@sha256:9b6a37510d8b9f37f409a8ab3babac9181afcaaa3fce8ba1c131a7ed3de30698,1351 +- completed: + hackage: xmlhtml-0.2.5.2@sha256:3f0990f725551985d777e8edb5563fe99aee998f1fde6a7633f720f76df54701,46997 + pantry-tree: + size: 61835 + sha256: bb1bd95db3738e18d112bbc9724510ee64a51b7eda61494507f4957c5e2281f6 + original: + hackage: xmlhtml-0.2.5.2@sha256:3f0990f725551985d777e8edb5563fe99aee998f1fde6a7633f720f76df54701,46997 +snapshots: +- completed: + size: 492015 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/15/8.yaml + sha256: 926bc3d70249dd0ba05277ff00943c0addb35b627cb641752669e7cf771310d0 + original: lts-15.8 From 52ae0284b624cdef55668735e2f2230b2d0e0150 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sat, 1 Aug 2020 05:38:42 +0300 Subject: [PATCH 2/7] Allow newer base64-bytestring for serversession --- serversession/serversession.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serversession/serversession.cabal b/serversession/serversession.cabal index e0a38e5..f47b64f 100644 --- a/serversession/serversession.cabal +++ b/serversession/serversession.cabal @@ -23,7 +23,7 @@ library build-depends: base == 4.* , aeson - , base64-bytestring == 1.0.* + , base64-bytestring >= 1.0 && < 1.2 , bytestring , data-default , hashable From 7ce49ecfedcd27d29e22003f617c147c00c18d8b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 14 Aug 2020 09:09:24 +0300 Subject: [PATCH 3/7] Relax an upper bound --- serversession/serversession.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serversession/serversession.cabal b/serversession/serversession.cabal index f47b64f..2a6336d 100644 --- a/serversession/serversession.cabal +++ b/serversession/serversession.cabal @@ -23,7 +23,7 @@ library build-depends: base == 4.* , aeson - , base64-bytestring >= 1.0 && < 1.2 + , base64-bytestring >= 1.0 && < 1.3 , bytestring , data-default , hashable From ecbedcc5b44588d743a0a7156a74575922e46d72 Mon Sep 17 00:00:00 2001 From: ncaq Date: Sat, 13 Feb 2021 00:12:02 +0900 Subject: [PATCH 4/7] added: version bumps and changelog --- serversession-backend-acid-state/changelog.md | 3 +++ .../serversession-backend-acid-state.cabal | 4 ++-- serversession-backend-persistent/changelog.md | 2 ++ .../serversession-backend-persistent.cabal | 4 ++-- serversession-backend-redis/changelog.md | 2 ++ serversession-backend-redis/serversession-backend-redis.cabal | 2 +- serversession/changelog.md | 2 ++ serversession/serversession.cabal | 2 +- 8 files changed, 15 insertions(+), 6 deletions(-) diff --git a/serversession-backend-acid-state/changelog.md b/serversession-backend-acid-state/changelog.md index e69de29..2de1281 100644 --- a/serversession-backend-acid-state/changelog.md +++ b/serversession-backend-acid-state/changelog.md @@ -0,0 +1,3 @@ +# 1.0.4 + +* bump acid-state to 0.16 diff --git a/serversession-backend-acid-state/serversession-backend-acid-state.cabal b/serversession-backend-acid-state/serversession-backend-acid-state.cabal index e7f929d..42ca913 100644 --- a/serversession-backend-acid-state/serversession-backend-acid-state.cabal +++ b/serversession-backend-acid-state/serversession-backend-acid-state.cabal @@ -1,5 +1,5 @@ name: serversession-backend-acid-state -version: 1.0.3 +version: 1.0.4 license: MIT license-file: LICENSE author: Felipe Lessa @@ -22,7 +22,7 @@ library hs-source-dirs: src build-depends: base == 4.* - , acid-state >= 0.12 + , acid-state >= 0.16 , containers , mtl , safecopy >= 0.8 diff --git a/serversession-backend-persistent/changelog.md b/serversession-backend-persistent/changelog.md index bee723b..41730b8 100644 --- a/serversession-backend-persistent/changelog.md +++ b/serversession-backend-persistent/changelog.md @@ -1,3 +1,5 @@ +1.0.5 +* bump persistent to 2.10 1.0.4 * Default auth id to NULL to fix a MySQL bug. 1.0.3 diff --git a/serversession-backend-persistent/serversession-backend-persistent.cabal b/serversession-backend-persistent/serversession-backend-persistent.cabal index f06080a..4b7ad72 100644 --- a/serversession-backend-persistent/serversession-backend-persistent.cabal +++ b/serversession-backend-persistent/serversession-backend-persistent.cabal @@ -1,5 +1,5 @@ name: serversession-backend-persistent -version: 1.0.4 +version: 1.0.5 license: MIT license-file: LICENSE author: Felipe Lessa @@ -27,7 +27,7 @@ library , bytestring , cereal >= 0.4 , path-pieces - , persistent >= 2.1 + , persistent >= 2.10 , tagged >= 0.7 , text , time diff --git a/serversession-backend-redis/changelog.md b/serversession-backend-redis/changelog.md index a126c38..ecd3c31 100644 --- a/serversession-backend-redis/changelog.md +++ b/serversession-backend-redis/changelog.md @@ -1,3 +1,5 @@ +1.0.4 +* bump hedis to 0.13 1.0.3 * Allow hedis-0.10 1.0.2 diff --git a/serversession-backend-redis/serversession-backend-redis.cabal b/serversession-backend-redis/serversession-backend-redis.cabal index 584d3bd..0ba5f53 100644 --- a/serversession-backend-redis/serversession-backend-redis.cabal +++ b/serversession-backend-redis/serversession-backend-redis.cabal @@ -1,5 +1,5 @@ name: serversession-backend-redis -version: 1.0.3 +version: 1.0.4 license: MIT license-file: LICENSE author: Felipe Lessa diff --git a/serversession/changelog.md b/serversession/changelog.md index e69de29..eac42de 100644 --- a/serversession/changelog.md +++ b/serversession/changelog.md @@ -0,0 +1,2 @@ +# 1.0.2 +* add persistent-test to deps diff --git a/serversession/serversession.cabal b/serversession/serversession.cabal index d9ce51c..27bb6e1 100644 --- a/serversession/serversession.cabal +++ b/serversession/serversession.cabal @@ -1,5 +1,5 @@ name: serversession -version: 1.0.1 +version: 1.0.2 license: MIT license-file: LICENSE author: Felipe Lessa From b861f18008f5e5dd0828bc2798b640aea4be4fc7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 14 Feb 2021 08:38:54 +0200 Subject: [PATCH 5/7] cabal-version for Hackage --- .../serversession-backend-acid-state.cabal | 4 +++- .../serversession-backend-persistent.cabal | 4 +++- serversession-backend-redis/serversession-backend-redis.cabal | 4 +++- serversession-frontend-snap/serversession-frontend-snap.cabal | 3 ++- serversession-frontend-wai/serversession-frontend-wai.cabal | 3 ++- .../serversession-frontend-yesod.cabal | 3 ++- serversession/serversession.cabal | 3 ++- 7 files changed, 17 insertions(+), 7 deletions(-) diff --git a/serversession-backend-acid-state/serversession-backend-acid-state.cabal b/serversession-backend-acid-state/serversession-backend-acid-state.cabal index 42ca913..08e572f 100644 --- a/serversession-backend-acid-state/serversession-backend-acid-state.cabal +++ b/serversession-backend-acid-state/serversession-backend-acid-state.cabal @@ -1,3 +1,4 @@ +cabal-version: >= 1.10 name: serversession-backend-acid-state version: 1.0.4 license: MIT @@ -7,7 +8,6 @@ maintainer: Michael Xavier synopsis: Storage backend for serversession using acid-state. category: Web stability: Stable -cabal-version: >= 1.8 build-type: Simple homepage: https://github.com/yesodweb/serversession description: API docs and the README are available at @@ -19,6 +19,7 @@ flag lib-Werror manual: True library + default-language: Haskell2010 hs-source-dirs: src build-depends: base == 4.* @@ -47,6 +48,7 @@ library test-suite tests + default-language: Haskell2010 type: exitcode-stdio-1.0 hs-source-dirs: tests build-depends: diff --git a/serversession-backend-persistent/serversession-backend-persistent.cabal b/serversession-backend-persistent/serversession-backend-persistent.cabal index 4b7ad72..19b265b 100644 --- a/serversession-backend-persistent/serversession-backend-persistent.cabal +++ b/serversession-backend-persistent/serversession-backend-persistent.cabal @@ -1,3 +1,4 @@ +cabal-version: >= 1.10 name: serversession-backend-persistent version: 1.0.5 license: MIT @@ -7,7 +8,6 @@ maintainer: Michael Xavier synopsis: Storage backend for serversession using persistent and an RDBMS. category: Web stability: Stable -cabal-version: >= 1.8 build-type: Simple homepage: https://github.com/yesodweb/serversession description: API docs and the README are available at @@ -19,6 +19,7 @@ flag lib-Werror manual: True library + default-language: Haskell2010 hs-source-dirs: src build-depends: base == 4.* @@ -62,6 +63,7 @@ library test-suite tests + default-language: Haskell2010 type: exitcode-stdio-1.0 hs-source-dirs: tests build-depends: diff --git a/serversession-backend-redis/serversession-backend-redis.cabal b/serversession-backend-redis/serversession-backend-redis.cabal index 0ba5f53..2aa20cf 100644 --- a/serversession-backend-redis/serversession-backend-redis.cabal +++ b/serversession-backend-redis/serversession-backend-redis.cabal @@ -1,3 +1,4 @@ +cabal-version: >= 1.10 name: serversession-backend-redis version: 1.0.4 license: MIT @@ -7,7 +8,6 @@ maintainer: Michael Xavier synopsis: Storage backend for serversession using Redis. category: Web stability: Stable -cabal-version: >= 1.8 build-type: Simple homepage: https://github.com/yesodweb/serversession description: API docs and the README are available at @@ -23,6 +23,7 @@ flag lib-Werror manual: True library + default-language: Haskell2010 hs-source-dirs: src build-depends: base == 4.* @@ -60,6 +61,7 @@ library test-suite tests + default-language: Haskell2010 type: exitcode-stdio-1.0 hs-source-dirs: tests build-depends: diff --git a/serversession-frontend-snap/serversession-frontend-snap.cabal b/serversession-frontend-snap/serversession-frontend-snap.cabal index 12f9319..6d2e0c5 100644 --- a/serversession-frontend-snap/serversession-frontend-snap.cabal +++ b/serversession-frontend-snap/serversession-frontend-snap.cabal @@ -1,3 +1,4 @@ +cabal-version: >= 1.10 name: serversession-frontend-snap version: 1.0.1 license: MIT @@ -7,7 +8,6 @@ maintainer: Michael Xavier synopsis: Snap bindings for serversession. category: Web stability: Stable -cabal-version: >= 1.8 build-type: Simple homepage: https://github.com/yesodweb/serversession description: API docs and the README are available at @@ -20,6 +20,7 @@ flag lib-Werror library + default-language: Haskell2010 hs-source-dirs: src build-depends: base == 4.* diff --git a/serversession-frontend-wai/serversession-frontend-wai.cabal b/serversession-frontend-wai/serversession-frontend-wai.cabal index ce4a934..6622a54 100644 --- a/serversession-frontend-wai/serversession-frontend-wai.cabal +++ b/serversession-frontend-wai/serversession-frontend-wai.cabal @@ -1,3 +1,4 @@ +cabal-version: >= 1.10 name: serversession-frontend-wai version: 1.0 license: MIT @@ -7,7 +8,6 @@ maintainer: Michael Xavier synopsis: wai-session bindings for serversession. category: Web stability: Stable -cabal-version: >= 1.8 build-type: Simple homepage: https://github.com/yesodweb/serversession description: API docs and the README are available at @@ -19,6 +19,7 @@ flag lib-Werror manual: True library + default-language: Haskell2010 hs-source-dirs: src build-depends: base >= 4.6 && < 5 diff --git a/serversession-frontend-yesod/serversession-frontend-yesod.cabal b/serversession-frontend-yesod/serversession-frontend-yesod.cabal index 66e4b1c..b4788e4 100644 --- a/serversession-frontend-yesod/serversession-frontend-yesod.cabal +++ b/serversession-frontend-yesod/serversession-frontend-yesod.cabal @@ -1,3 +1,4 @@ +cabal-version: >= 1.10 name: serversession-frontend-yesod version: 1.0 license: MIT @@ -7,7 +8,6 @@ maintainer: Michael Xavier synopsis: Yesod bindings for serversession. category: Web stability: Stable -cabal-version: >= 1.8 build-type: Simple homepage: https://github.com/yesodweb/serversession description: API docs and the README are available at @@ -19,6 +19,7 @@ flag lib-Werror manual: True library + default-language: Haskell2010 hs-source-dirs: src build-depends: base == 4.* diff --git a/serversession/serversession.cabal b/serversession/serversession.cabal index b6f564f..eb4d46e 100644 --- a/serversession/serversession.cabal +++ b/serversession/serversession.cabal @@ -1,3 +1,4 @@ +cabal-version: >= 1.10 name: serversession version: 1.0.2 license: MIT @@ -7,7 +8,6 @@ maintainer: Michael Xavier synopsis: Secure, modular server-side sessions. category: Web stability: Stable -cabal-version: >= 1.8 build-type: Simple homepage: https://github.com/yesodweb/serversession description: API docs and the README are available at @@ -19,6 +19,7 @@ flag lib-Werror manual: True library + default-language: Haskell2010 hs-source-dirs: src build-depends: base == 4.* From e51b5bc11f0df45c507fdb0cb3cd4b1a2078808c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 14 Feb 2021 09:26:18 +0200 Subject: [PATCH 6/7] More Hackage complaints --- serversession/serversession.cabal | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/serversession/serversession.cabal b/serversession/serversession.cabal index eb4d46e..eaba5fe 100644 --- a/serversession/serversession.cabal +++ b/serversession/serversession.cabal @@ -39,7 +39,7 @@ library Web.ServerSession.Core Web.ServerSession.Core.Internal Web.ServerSession.Core.StorageTests - extensions: + default-extensions: DeriveDataTypeable FlexibleContexts OverloadedStrings @@ -55,6 +55,7 @@ library test-suite tests + default-language: Haskell2010 type: exitcode-stdio-1.0 hs-source-dirs: tests build-depends: @@ -66,7 +67,7 @@ test-suite tests , hspec >= 2.1 && < 3 , QuickCheck , serversession - extensions: + default-extensions: DeriveDataTypeable FlexibleContexts OverloadedStrings From bcd2b7da843082403fc38786443a14a9b877a59b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 14 Feb 2021 09:29:16 +0200 Subject: [PATCH 7/7] default-extensions --- .../serversession-backend-acid-state.cabal | 4 ++-- .../serversession-backend-persistent.cabal | 4 ++-- serversession-backend-redis/serversession-backend-redis.cabal | 2 +- serversession-frontend-snap/serversession-frontend-snap.cabal | 2 +- serversession-frontend-wai/serversession-frontend-wai.cabal | 2 +- .../serversession-frontend-yesod.cabal | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/serversession-backend-acid-state/serversession-backend-acid-state.cabal b/serversession-backend-acid-state/serversession-backend-acid-state.cabal index 08e572f..663cf14 100644 --- a/serversession-backend-acid-state/serversession-backend-acid-state.cabal +++ b/serversession-backend-acid-state/serversession-backend-acid-state.cabal @@ -33,7 +33,7 @@ library exposed-modules: Web.ServerSession.Backend.Acid Web.ServerSession.Backend.Acid.Internal - extensions: + default-extensions: ConstraintKinds DeriveDataTypeable FlexibleContexts @@ -59,7 +59,7 @@ test-suite tests , serversession , serversession-backend-acid-state main-is: Main.hs - extensions: + default-extensions: CPP ghc-options: -Wall -threaded "-with-rtsopts=-N -s -M1G -c" -rtsopts if flag(lib-Werror) diff --git a/serversession-backend-persistent/serversession-backend-persistent.cabal b/serversession-backend-persistent/serversession-backend-persistent.cabal index 19b265b..b516bfe 100644 --- a/serversession-backend-persistent/serversession-backend-persistent.cabal +++ b/serversession-backend-persistent/serversession-backend-persistent.cabal @@ -40,7 +40,7 @@ library Web.ServerSession.Backend.Persistent Web.ServerSession.Backend.Persistent.Internal.Impl Web.ServerSession.Backend.Persistent.Internal.Types - extensions: + default-extensions: DeriveDataTypeable EmptyDataDecls FlexibleContexts @@ -81,7 +81,7 @@ test-suite tests , serversession , serversession-backend-persistent - extensions: + default-extensions: OverloadedStrings TemplateHaskell main-is: Main.hs diff --git a/serversession-backend-redis/serversession-backend-redis.cabal b/serversession-backend-redis/serversession-backend-redis.cabal index 2aa20cf..d8d83b1 100644 --- a/serversession-backend-redis/serversession-backend-redis.cabal +++ b/serversession-backend-redis/serversession-backend-redis.cabal @@ -44,7 +44,7 @@ library exposed-modules: Web.ServerSession.Backend.Redis Web.ServerSession.Backend.Redis.Internal - extensions: + default-extensions: CPP DeriveDataTypeable FlexibleContexts diff --git a/serversession-frontend-snap/serversession-frontend-snap.cabal b/serversession-frontend-snap/serversession-frontend-snap.cabal index 6d2e0c5..58c254a 100644 --- a/serversession-frontend-snap/serversession-frontend-snap.cabal +++ b/serversession-frontend-snap/serversession-frontend-snap.cabal @@ -38,7 +38,7 @@ library exposed-modules: Web.ServerSession.Frontend.Snap Web.ServerSession.Frontend.Snap.Internal - extensions: + default-extensions: DeriveDataTypeable FlexibleContexts OverloadedStrings diff --git a/serversession-frontend-wai/serversession-frontend-wai.cabal b/serversession-frontend-wai/serversession-frontend-wai.cabal index 6622a54..c23b13f 100644 --- a/serversession-frontend-wai/serversession-frontend-wai.cabal +++ b/serversession-frontend-wai/serversession-frontend-wai.cabal @@ -39,7 +39,7 @@ library exposed-modules: Web.ServerSession.Frontend.Wai Web.ServerSession.Frontend.Wai.Internal - extensions: + default-extensions: FlexibleContexts OverloadedStrings TypeFamilies diff --git a/serversession-frontend-yesod/serversession-frontend-yesod.cabal b/serversession-frontend-yesod/serversession-frontend-yesod.cabal index b4788e4..821034e 100644 --- a/serversession-frontend-yesod/serversession-frontend-yesod.cabal +++ b/serversession-frontend-yesod/serversession-frontend-yesod.cabal @@ -39,7 +39,7 @@ library exposed-modules: Web.ServerSession.Frontend.Yesod Web.ServerSession.Frontend.Yesod.Internal - extensions: + default-extensions: FlexibleContexts OverloadedStrings TypeFamilies