packages feed

snap-1.1.3.3: snap.cabal

cabal-version:  2.2
name:           snap
version:        1.1.3.3
synopsis:       Top-level package for the Snap Web Framework
description:
    This is the top-level package for the official Snap Framework libraries.
    It includes:
    .
    * The Snaplets API
    .
    * Snaplets for sessions, authentication, and templates
    .
    To get started, issue the following sequence of commands:
    .
    @$ cabal install snap snap-templates
    $ mkdir myproject
    $ cd myproject
    $ snap init@
    .
    If you have trouble or any questions, see our FAQ page
    (<http://snapframework.com/faq>) or the documentation
    (<http://snapframework.com/docs>).
    .
    Note: since version 1.0, the \"snap\" executable program for generating
    starter projects is provided by the @snap-templates@ package.

license:        BSD-3-Clause
license-file:   LICENSE
author:         Ozgun Ataman, Doug Beardsley,
                Gregory Collins, Carl Howells, Chris Smith
maintainer:     snap@snapframework.com
build-type:     Simple
homepage:       http://snapframework.com/
bug-reports:    https://github.com/snapframework/snap/issues
category:       Web, Snap

tested-with:
  GHC == 8.8.4
  GHC == 8.10.7
  GHC == 9.0.2
  GHC == 9.2.8
  GHC == 9.4.5
  GHC == 9.6.2

extra-source-files:
  .ghci,
  CONTRIBUTORS,
  LICENSE,
  README.md,
  README.SNAP.md,
  changelog.md,
  design.md,
  extra/hscolour.css,
  extra/haddock.css,
  extra/logo.gif,
  haddock.sh,
  runTestsAndCoverage.sh,
  test/bad.tpl,
  test/db.cfg,
  test/devel.cfg,
  test/good.tpl,
  test/snaplets/baz/devel.cfg,
  test/snaplets/baz/templates/bazconfig.tpl,
  test/snaplets/baz/templates/bazpage.tpl,
  test/snaplets/embedded/extra-templates/extra.tpl,
  test/snaplets/embedded/snaplets/heist/templates/embeddedpage.tpl,
  test/snaplets/foosnaplet/devel.cfg,
  test/snaplets/foosnaplet/templates/foopage.tpl,
  test/snaplets/heist/templates/_foopage.tpl,
  test/snaplets/heist/templates/extraTemplates/barpage.tpl,
  test/snaplets/heist/templates/foopage.tpl,
  test/snaplets/heist/templates/index.tpl,
  test/snaplets/heist/templates/page.tpl,
  test/snaplets/heist/templates/session.tpl,
  test/snaplets/heist/templates/splicepage.tpl,
  test/snaplets/heist/templates/userpage.tpl

common universal
  default-language: Haskell2010

  build-depends:
    , base >= 4.5 && < 5

  if !impl(ghc >= 8.0)
    build-depends:
      , semigroups >= 0.16 && < 0.19
      , fail       >= 4.9  && < 4.10

  default-extensions:
    BangPatterns
    CPP
    DeriveDataTypeable
    ExistentialQuantification
    FlexibleContexts
    FlexibleInstances
    GeneralizedNewtypeDeriving
    MultiParamTypeClasses
    NoMonomorphismRestriction
    OverloadedStrings
    PackageImports
    Rank2Types
    RecordWildCards
    ScopedTypeVariables
    TemplateHaskell
    TypeFamilies
    TypeOperators
    TypeSynonymInstances

Library
  import: universal
  hs-source-dirs: src

  exposed-modules:
    Snap
    Snap.Snaplet
    Snap.Snaplet.Heist
    Snap.Snaplet.HeistNoClass
    Snap.Snaplet.Heist.Compiled
    Snap.Snaplet.Heist.Generic
    Snap.Snaplet.Heist.Interpreted
    Snap.Snaplet.Auth
    Snap.Snaplet.Auth.Backends.JsonFile
    Snap.Snaplet.Config
    Snap.Snaplet.Session
    Snap.Snaplet.Session.Common
    Snap.Snaplet.Session.SessionManager
    Snap.Snaplet.Session.Backends.CookieSession
    Snap.Snaplet.Test

  other-modules:
    Paths_snap
    Snap.Snaplet.Auth.AuthManager
    Snap.Snaplet.Auth.Types
    Snap.Snaplet.Auth.Handlers
    Snap.Snaplet.Auth.SpliceHelpers
    Snap.Snaplet.Heist.Internal
    Snap.Snaplet.Internal.Initializer
    Snap.Snaplet.Internal.LensT
    Snap.Snaplet.Internal.Lensed
    Snap.Snaplet.Internal.RST
    Snap.Snaplet.Internal.Types
    Snap.Snaplet.Session.SecureCookie

  build-depends:
    aeson                     >= 0.6      && < 2.3,
    attoparsec                >= 0.10     && < 0.15,
    attoparsec-aeson          >= 2.1.0.0  && < 3.0,
    bytestring                >= 0.9.1    && < 0.13,
    cereal                    >= 0.3      && < 0.6,
    clientsession             >= 0.8      && < 0.10,
    configurator              >= 0.1      && < 0.4,
    containers                >= 0.2      && < 0.8,
    directory                 >= 1.1      && < 1.4,
    directory-tree            >= 0.11     && < 0.13,
    dlist                     >= 0.5      && < 1.1,
    filepath                  >= 1.3      && < 1.5,
    -- hashable is broken from 1.2.0.0 through 1.2.0.5
    -- snap does work with hashable 1.1.*, but some have complained that
    -- the version disjunction causes problems with dependency resolution.
    hashable                  >= 1.2.0.6  && < 1.5,
    heist                     >= 1.1      && < 1.2,
    lens                      >= 3.7.6    && < 5.3,
    lifted-base               >= 0.2      && < 0.3,
    map-syntax                >= 0.2      && < 0.4,
    monad-control             >= 0.3      && < 1.1,
    mtl                       >= 2.0      && < 2.4,
    mwc-random                >= 0.8      && < 0.16,
    pwstore-fast              >= 2.2      && < 2.5,
    snap-core                 >= 1.0      && < 1.1,
    snap-server               >= 1.0      && < 1.2,
    stm                       >= 2.2      && < 2.6,
    text                      >= 1.1.1.0  && < 2.2,
    time                      >= 1.1      && < 1.14,
    transformers              >= 0.2      && < 0.7,
    transformers-base         >= 0.4      && < 0.5,
    unordered-containers      >= 0.1.4    && < 0.3,
    xmlhtml                   >= 0.1      && < 0.3

  if impl(ghc >= 6.12.0)
    ghc-options: -Wall -fwarn-tabs -funbox-strict-fields
                 -fno-warn-orphans -fno-warn-unused-do-bind
  else
    ghc-options: -Wall -fwarn-tabs -funbox-strict-fields
                 -fno-warn-orphans

Test-suite testsuite
  import: universal
  hs-source-dirs: src test/suite
  type: exitcode-stdio-1.0
  main-is: TestSuite.hs

  autogen-modules:
    Paths_snap

  other-modules:
    Blackbox.Tests
    Paths_snap
    SafeCWD
    Snap
    Snap.Snaplet
    Snap.Snaplet.Auth
    Snap.Snaplet.Auth.AuthManager
    Snap.Snaplet.Auth.Backends.JsonFile
    Snap.Snaplet.Auth.Handlers
    Snap.Snaplet.Auth.Handlers.Tests
    Snap.Snaplet.Auth.SpliceHelpers
    Snap.Snaplet.Auth.SpliceTests
    Snap.Snaplet.Auth.Tests
    Snap.Snaplet.Auth.Types
    Snap.Snaplet.Auth.Types.Tests
    Snap.Snaplet.Test.Common.App
    Snap.Snaplet.Test.Common.BarSnaplet
    Snap.Snaplet.Test.Common.EmbeddedSnaplet
    Snap.Snaplet.Test.Common.FooSnaplet
    Snap.Snaplet.Test.Common.Handlers
    Snap.Snaplet.Test.Common.Types
    Snap.Snaplet.Config
    Snap.Snaplet.Config.Tests
    Snap.Snaplet.Heist
    Snap.Snaplet.Heist.Compiled
    Snap.Snaplet.Heist.Generic
    Snap.Snaplet.Heist.Internal
    Snap.Snaplet.Heist.Interpreted
    Snap.Snaplet.Heist.Tests
    Snap.Snaplet.HeistNoClass
    Snap.Snaplet.Internal.Initializer
    Snap.Snaplet.Internal.LensT
    Snap.Snaplet.Internal.LensT.Tests
    Snap.Snaplet.Internal.Lensed
    Snap.Snaplet.Internal.Lensed.Tests
    Snap.Snaplet.Internal.RST
    Snap.Snaplet.Internal.RST.Tests
    Snap.Snaplet.Internal.Tests
    Snap.Snaplet.Internal.Types
    Snap.Snaplet.Session
    Snap.Snaplet.Session.Backends.CookieSession
    Snap.Snaplet.Session.Common
    Snap.Snaplet.Session.SecureCookie
    Snap.Snaplet.Session.SessionManager
    Snap.Snaplet.Test
    Snap.Snaplet.Test.Tests
    Snap.TestCommon

  build-depends:
    aeson,
    async                      >= 2.0.1.5  && < 2.3,
    attoparsec,
    attoparsec-aeson,
    bytestring,
    cereal,
    clientsession,
    configurator,
    containers,
    deepseq,
    directory,
    directory-tree,
    dlist,
    filepath,
    hashable,
    heist,
    http-streams               >= 0.7.1.1  && < 0.9,
    HUnit                      >= 1.2.5.2  && < 1.7,
    lens,
    lifted-base,
    map-syntax,
    monad-control,
    mtl,
    mwc-random,
    pwstore-fast,
    QuickCheck                 >= 2.4.2    && < 2.15,
    smallcheck                 >= 1.1.1    && < 1.3,
    snap-core,
    snap-server,
    snap,
    stm,
    syb,
    test-framework             >= 0.8.0.3  && < 0.9,
    test-framework-hunit       >= 0.3.0.1  && < 0.4,
    test-framework-quickcheck2 >= 0.3.0.3  && < 0.4,
    test-framework-smallcheck  >= 0.2      && < 0.3,
    text,
    time,
    transformers,
    transformers-base,
    unordered-containers,
    xmlhtml

source-repository head
  type:     git
  location: https://github.com/snapframework/snap.git