packages feed

hledger-web-0.22: hledger-web.cabal

name:           hledger-web
version: 0.22
stability:      beta
category:       Finance
synopsis:       A web interface for the hledger accounting tool.
description:    
                hledger is a library and set of user tools for working
                with financial data (or anything that can be tracked in a
                double-entry accounting ledger.) It is a haskell port and
                friendly fork of John Wiegley's Ledger. hledger provides
                command-line, curses and web interfaces, and aims to be a
                reliable, practical tool for daily use.

license:        GPL
license-file:   LICENSE
author:         Simon Michael <simon@joyful.com>
maintainer:     Simon Michael <simon@joyful.com>
homepage:       http://hledger.org
bug-reports:    http://hledger.org/bugs
tested-with:    GHC==7.4.2, GHC==7.6.3
cabal-version:  >= 1.8
build-type:     Simple
extra-tmp-files:
extra-source-files:
                messages/en.msg
                config/routes
                static/css/bootstrap.css
                static/select2.css
                static/select2.min.js
                static/select2-spinner.gif
                static/select2.png
                static/excanvas.min.js
                static/favicon.ico
                static/hledger.js
                static/img/glyphicons-halflings-white.png
                static/img/glyphicons-halflings.png
                static/jquery.flot.js
                static/jquery.js
                static/jquery.url.js
                static/style.css
                templates/default-layout.hamlet
                templates/default-layout-wrapper.hamlet
                templates/homepage.hamlet
                templates/homepage.julius
                templates/homepage.lucius
                templates/normalize.lucius

source-repository head
    type:     git
    location: https://github.com/simonmichael/hledger

flag threaded
    Description:   Build with support for multithreaded execution.
    Default:       True

flag blaze_html_0_4
    description:   Use the older 0.4 version of blaze-html. No longer well tested.
    default:       False

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
    cpp-options:   -DVERSION="0.22"
    if flag(dev) || flag(library-only)
        cpp-options: -DDEVELOPMENT
 
    ghc-options:   -Wall -fno-warn-unused-do-bind
 
    extensions:
                CPP
                MultiParamTypeClasses
                NoImplicitPrelude
                OverloadedStrings
                QuasiQuotes
                RecordWildCards
                TemplateHaskell
                TypeFamilies
                -- seem to not be needed at present:
                -- GADTs
                -- GeneralizedNewtypeDeriving
                -- FlexibleContexts
                -- EmptyDataDecls
                -- NoMonomorphismRestriction

    hs-source-dirs:  . app
    exposed-modules:  Application
                     Foundation
                     Import
                     Settings
                     Settings.StaticFiles
                     Settings.Development
                     Handler.Common
                     Handler.JournalEditR
                     Handler.JournalEntriesR
                     Handler.JournalR
                     Handler.Post
                     Handler.RegisterR
                     Handler.RootR
                     Handler.Utils
    other-modules:
                     Hledger.Web
                     Hledger.Web.Main
                     Hledger.Web.Options
                     -- Setup -- stops yesod devel complaining, requires build-depends: Cabal
    build-depends:
                     hledger              == 0.22
                   , hledger-lib          == 0.22
                   , base                 >= 4 && < 5
                   , bytestring
                   , clientsession
                   , cmdargs              >= 0.10 && < 0.11
                   , data-default
                   , directory
                   , filepath
                   , hamlet
                   , hjsmin
                   , http-conduit
                   , http-client          >= 0.2 && < 0.3
                   , HUnit
                   , network-conduit
                   , old-locale
                   , parsec
                   , regexpr              >= 0.5.1
                   , safe                 >= 0.2
                   , shakespeare-text
                   , template-haskell
                   , text
                   , time
                   , transformers
                   , wai
                   , wai-extra
                   , wai-handler-launch   >= 1.3 && < 2.1
                   , warp                 >= 1.3 && < 2.1
                   , yaml
                   , yesod                >= 1.2 && < 1.3
                   , yesod-core
                   , yesod-static
                   , json

    if flag(blaze_html_0_4)
      cpp-options:   -DBLAZE_HTML_0_4
      build-depends:
                     blaze-html               >= 0.4     && < 0.5
    else
      build-depends:
                     blaze-html               >= 0.5     && < 0.7
                   , blaze-markup             >= 0.5.1   && < 0.7


executable         hledger-web
    if flag(library-only)
        Buildable: False

    cpp-options:   -DVERSION="0.22"
    if flag(dev)
        cpp-options:   -DDEVELOPMENT

    ghc-options:   -Wall -fno-warn-unused-do-bind
    if flag(threaded)
        ghc-options:   -threaded
    if flag(dev)
        ghc-options:   -O0
    else
        ghc-options:   -O2

    extensions: 
                CPP
                MultiParamTypeClasses
                NoImplicitPrelude
                OverloadedStrings
                QuasiQuotes
                RecordWildCards
                TemplateHaskell
                TypeFamilies

    hs-source-dirs:  . app
    main-is:         main.hs
    other-modules:
                     Application
                     Foundation
                     Import
                     Settings
                     Settings.StaticFiles
                     Settings.Development
                     Handler.Common
                     Handler.JournalEditR
                     Handler.JournalEntriesR
                     Handler.JournalR
                     Handler.Post
                     Handler.RegisterR
                     Handler.RootR
                     Handler.Utils
                     Hledger.Web
                     Hledger.Web.Main
                     Hledger.Web.Options

    build-depends:
                     hledger              == 0.22
                   , hledger-lib          == 0.22
                   , base                 >= 4 && < 5
                   , bytestring
                   , clientsession
                   , cmdargs              >= 0.10 && < 0.11
                   , data-default
                   , directory
                   , filepath
                   , hamlet
                   , hjsmin
                   , http-conduit
                   , http-client          >= 0.2 && < 0.3
                   , HUnit
                   , network-conduit
                   , old-locale
                   , parsec
                   , regexpr              >= 0.5.1
                   , safe                 >= 0.2
                   , shakespeare-text
                   , template-haskell
                   , text
                   , time
                   , transformers
                   , wai
                   , wai-extra
                   , wai-handler-launch   >= 1.3 && < 2.1
                   , warp                 >= 1.3 && < 2.1
                   , yaml
                   , yesod                >= 1.2 && < 1.3
                   , yesod-core
                   , yesod-static
                   , json

    if flag(blaze_html_0_4)
      cpp-options:   -DBLAZE_HTML_0_4
      build-depends:
                     blaze-html               >= 0.4     && < 0.5
    else
      build-depends:
                     blaze-html               >= 0.5     && < 0.7
                   , blaze-markup             >= 0.5.1   && < 0.7

test-suite test
    type:              exitcode-stdio-1.0
    ghc-options:       -Wall
    hs-source-dirs:    tests
    main-is:           main.hs
    build-depends: 
                     hledger-web
                   , base
                   , hspec
                   , yesod                >= 1.2 && < 1.3
                   , yesod-test           >= 1.2 && < 1.3