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:     Data.ByteString.Char8.Local
                       Data.ByteString.Local
                       Data.Char.Local
                       Data.List.Local
                       Network.SSH.Local
                       Vervis.Application
                       Vervis.Field.Key
                       Vervis.Field.Person
                       Vervis.Field.Project
                       Vervis.Field.Repo
                       Vervis.Form.Key
                       Vervis.Form.Person
                       Vervis.Form.Project
                       Vervis.Form.Repo
                       Vervis.Foundation
                       Vervis.Git
                       Vervis.Import
                       Vervis.Import.NoFoundation
                       Vervis.Model
                       Vervis.Settings
                       Vervis.Settings.StaticFiles
                       Vervis.Handler.Common
                       Vervis.Handler.Home
                       Vervis.Handler.Key
                       Vervis.Handler.Person
                       Vervis.Handler.Project
                       Vervis.Handler.Repo
                       Vervis.Handler.Util
                       Vervis.Path
                       Vervis.Ssh
                       Vervis.Style
  -- other-modules:       
  default-extensions:  TemplateHaskell
                       QuasiQuotes
                       OverloadedStrings
                       NoImplicitPrelude
                       MultiParamTypeClasses
                       TypeFamilies
                       GADTs
                       GeneralizedNewtypeDeriving
                       FlexibleContexts
                       FlexibleInstances
                       EmptyDataDecls
                       NoMonomorphismRestriction
                       DeriveDataTypeable
                       ViewPatterns
                       TupleSections
                       RecordWildCards
  build-depends:       aeson
                     , base
                     , base64-bytestring
                     , binary
                     , blaze-html
                     , byteable
                     , bytestring
                     , case-insensitive
                     , classy-prelude
                     , classy-prelude-conduit
                     , conduit
                     , containers
                     , data-default
                     , directory
                     , dlist
                     , esqueleto
                     , fast-logger
                     , fgl
                     , file-embed
                     , filepath
                     , hashable
                     , highlighter2
                     , hit
                     , hit-graph >= 0.1
                     , hjsmin
                     , hourglass
                     , http-conduit
                     , http-types
                     , monad-control
                     , monad-logger
                     , persistent
                     , persistent-postgresql
                     , persistent-template
                     , safe
                     , shakespeare
                     , ssh
                     , template-haskell
                     , text
                     , time
                     , transformers
                     , unordered-containers
                     , wai
                     , wai-extra
                     , wai-logger
                     , warp
                     , yaml
                     , yesod
                     , yesod-auth
                     , yesod-auth-hashdb
                     , yesod-core
                     , yesod-form
                     , yesod-static
                     , yesod-persistent
  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