name:                vervis
version:             0.1.0.0
synopsis:            Hopefully one day a decentralized project hosting platform
description:
  This project is starting as a minimal Git repo viewer, but aims to evolve
  into a decentralized federated software project hosting platform.
homepage:            http://hub.darcs.net/fr33domlover/vervis
bug-reports:         http://rel4tion.org/projects/vervis/tickets/
license:             PublicDomain
license-file:        COPYING
author:              fr33domlover
maintainer:          fr33domlover@riseup.net
copyright:           ♡ Copying is an act of love. Please copy, reuse and share.
category:            Development, Distribution, Git, Web
build-type:          Simple
extra-source-files:  AUTHORS
                     ChangeLog
                     COPYING
                     INSTALL.md
                     NEWS.md
                     README.md
cabal-version:       >=1.10

source-repository head
  type:                darcs
  location:            http://hub.darcs.net/fr33domlover/vervis

flag dev
  description: Turn on development settings, like auto-reload templates.
  default:     False

flag library-only
  description: Build for use with "yesod devel"
  default:     False

library
  exposed-modules:     Application
                       Foundation
                       Git
                       Import
                       Import.NoFoundation
                       Model
                       Settings
                       Settings.StaticFiles
                       Handler.Common
                       Handler.Home
                       Handler.Person
                       Handler.Project
                       Style
  -- other-modules:       
  default-extensions:  TemplateHaskell
                       QuasiQuotes
                       OverloadedStrings
                       NoImplicitPrelude
                       MultiParamTypeClasses
                       TypeFamilies
                       GADTs
                       GeneralizedNewtypeDeriving
                       FlexibleContexts
                       FlexibleInstances
                       EmptyDataDecls
                       NoMonomorphismRestriction
                       DeriveDataTypeable
                       ViewPatterns
                       TupleSections
                       RecordWildCards

  --build-depends:       base                 >=4.8   && <5
  --                   , directory-tree       >=0.12
  --                   , esqueleto
  --                   , filepath
  --                   , hit                  >=0.6.3
  --                   , hourglass
  --                   , time-units
  --                   , unordered-containers >=0.2.5
  build-depends:       aeson                         >= 0.6        && < 0.11
                     , base                          >= 4          && < 5
                     , blaze-markup
                     , bytestring                    >= 0.9        && < 0.11
                     , case-insensitive
                     , classy-prelude                >= 0.10.2
                     , classy-prelude-conduit        >= 0.10.2
                     , classy-prelude-yesod          >= 0.10.2
                     , conduit                       >= 1.0        && < 2.0
                     , containers
                     , data-default
                     , directory                     >= 1.1        && < 1.3
                     , esqueleto
                     , fast-logger                   >= 2.2        && < 2.5
                     , file-embed
                     , hit
                     , hjsmin                        >= 0.1        && < 0.2
                     , hourglass
                     , http-conduit                  >= 2.1        && < 2.2
                     , monad-control                 >= 0.3        && < 1.1
                     , monad-logger                  >= 0.3        && < 0.4
                     , persistent                    >= 2.0        && < 2.3
                     , persistent-postgresql         >= 2.1.1      && < 2.3
                     , persistent-template           >= 2.0        && < 2.3
                     , safe
                     , shakespeare                   >= 2.0        && < 2.1
                     , template-haskell
                     , text                          >= 0.11       && < 2.0
                     , time
                     , unordered-containers
                     , vector
                     , wai
                     , wai-extra                     >= 3.0        && < 3.1
                     , wai-logger                    >= 2.2        && < 2.3
                     , warp                          >= 3.0        && < 3.3
                     , yaml                          >= 0.8        && < 0.9
                     , yesod                         >= 1.4.1      && < 1.5
                     , yesod-auth                    >= 1.4.0      && < 1.5
                     , yesod-auth-hashdb
                     , yesod-core                    >= 1.4.17     && < 1.5
                     , yesod-form                    >= 1.4.0      && < 1.5
                     , yesod-static                  >= 1.4.0.3    && < 1.6
  hs-source-dirs:      src
  default-language:    Haskell2010

  if flag(dev) || flag(library-only)
    cpp-options:       -DDEVELOPMENT
    ghc-options:       -Wall -fwarn-tabs -O0
  else
    ghc-options:       -Wall -fwarn-tabs -O2

executable vervis
  main-is:             main.hs
  build-depends:       base, vervis
  hs-source-dirs:      app
  default-language:    Haskell2010
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N

  if flag(library-only)
    buildable: False

test-suite test
  main-is:             Spec.hs
  default-extensions:  TemplateHaskell
                       QuasiQuotes
                       OverloadedStrings
                       NoImplicitPrelude
                       CPP
                       MultiParamTypeClasses
                       TypeFamilies
                       GADTs
                       GeneralizedNewtypeDeriving
                       FlexibleContexts
                       FlexibleInstances
                       EmptyDataDecls
                       NoMonomorphismRestriction
                       DeriveDataTypeable
                       ViewPatterns
                       TupleSections
  build-depends:       base
                     , vervis
                     , yesod-test >= 1.5.0.1 && < 1.6
                     , yesod-core
                     , yesod
                     , persistent
                     , persistent-postgresql
                     , resourcet
                     , monad-logger
                     , shakespeare
                     , transformers
                     , hspec >= 2.0.0
                     , classy-prelude
                     , classy-prelude-yesod
                     , aeson
  hs-source-dirs:    test
  default-language:    Haskell2010
  ghc-options:       -Wall
  type:              exitcode-stdio-1.0