packages feed

wai-session-hasql-1.0.0.0: wai-session-hasql.cabal

cabal-version:      3.0
-- The cabal-version field refers to the version of the .cabal specification,
-- and can be different from the cabal-install (the tool) version and the
-- Cabal (the library) version you are using. As such, the Cabal (the library)
-- version used must be equal or greater than the version stated in this field.
-- Starting from the specification version 2.2, the cabal-version field must be
-- the first thing in the cabal file.

-- Initial package description 'wai-session-hasql' generated by
-- 'cabal init'. For further documentation, see:
--   http://haskell.org/cabal/users-guide/
--
-- The name of the package.
name:               wai-session-hasql

-- The package version.
-- See the Haskell package versioning policy (PVP) for standards
-- guiding when and how versions should be incremented.
-- https://pvp.haskell.org
-- PVP summary:     +-+------- breaking API changes
--                  | | +----- non-breaking API additions
--                  | | | +--- code changes with no API change
version:            1.0.0.0

-- A short (one-line) description of the package.
synopsis:           A wai-session store using Hasql and PostgreSQL

-- A longer description of the package.
description:        Provides PostgreSQL as wai-session store, and using Hasql as the PostgreSQL connector. It supports both single Hasql connection and Hasql pool connection.

-- The license under which the package is released.
license:            BSD-3-Clause

-- The file containing the license text.
license-file:       LICENSE

-- The package author(s).
author:             Haoxiang Zhao

-- An email address to which users can send suggestions, bug reports, and patches.
maintainer:         haoxiangz201@gmail.com

homepage:           https://github.com/Block81838/WAI-Session-Hasql

bug-reports:        https://github.com/Block81838/WAI-Session-Hasql/issues

tested-with:        ghc == 9.12.2

-- A copyright notice.
-- copyright:
category:           Web
build-type:         Simple

-- Extra doc files to be distributed with the package, such as a CHANGELOG or a README.
extra-doc-files:
    CHANGELOG.md
    README.md

-- Extra source files to be distributed with the package, such as examples, or a tutorial module.
-- extra-source-files:

flag build-example
     description:     Build the example executable
     default:         False
     manual:          True

common extensions
    default-language: GHC2021

common ghc-options
    ghc-options: -Wall -Widentities

common rts-options
    ghc-options: -rtsopts -threaded "-with-rtsopts=-N"

library
    -- Common language extensions
    import:           extensions

    -- Common compiler warnings and optimisations
    import:           ghc-options

    -- Modules exported by the library.
    exposed-modules:  Network.Wai.Session.Hasql

    -- Modules included in this library but not exported.
    -- other-modules:

    -- LANGUAGE extensions used by modules in this package.
    -- other-extensions:

    -- Other library packages from which modules are imported.
    build-depends:    base >=4.16.0.0 && <5,
                      hasql ^>=2.0,
                      hasql-pool ^>=1.5,
                      bytestring >= 0.10 && < 0.13,
                      text >= 1.2 && < 3,
                      time >= 1.9 && < 1.17,
                      uuid ^>=1.3,
                      mmzk-typeid ^>=0.7,
                      wai-session ^>=0.3,
                      aeson >=2.0 && <2.4

    -- Directories containing source files.
    hs-source-dirs:   src

    -- Base language which the package is written in.
    default-language: Haskell2010

executable wai-session-hasql-example
    import:           extensions

    import:           ghc-options

    import:           rts-options

    if !flag(build-example)
       buildable:     False
    else
       buildable:     True

    main-is:          Main.hs

    build-depends:    base >=4.16.0.0 && <5,
                      wai-session-hasql,
                      wai ^>=3.2,
                      text,
                      cookie ^>=0.5,
                      wai-session ^>=0.3,
                      warp ^>=3.4,
                      bytestring,
                      http-types ^>=0.12,
                      vault ^>=0.3,
                      hasql,
                      hasql-pool,
                      pqi-native ^>=1.0,
                      aeson

    hs-source-dirs:   example

test-suite wai-session-hasql-test
    -- Common language extensions
    import:           extensions

    -- Common compiler warnings and optimisations
    import:           ghc-options

    -- Common RTS options
    import:           rts-options

    -- Base language which the package is written in.
    default-language: Haskell2010

    -- Modules included in this executable, other than Main.
    -- other-modules:

    -- LANGUAGE extensions used by modules in this package.
    -- other-extensions:

    -- The interface type and version of the test suite.
    type:             exitcode-stdio-1.0

    -- Directories containing source files.
    hs-source-dirs:   test

    -- The entrypoint to the test suite.
    main-is:          Main.hs

    -- Test dependencies.
    build-depends:    base >=4.16.0.0 && <5,
                      wai-session-hasql,
                      hspec,
                      hasql,
                      hasql-pool,
                      pqi-native,
                      text,
                      aeson


source-repository head
    type:             git
    location:         https://github.com/Block81838/WAI-Session-Hasql.git