packages feed

hledger-0.7.0: hledger.cabal

name:           hledger
-- Version is set by the makefile
version:        0.7.0
category:       Finance
synopsis:       A command-line (or curses or web-based) double-entry accounting tool.
description:
                hledger reads a plain text ledger file or timelog
                describing your transactions and displays precise
                balance and register reports via command-line, curses
                or web interface.  It is a remix, in haskell, of John
                Wiegley's excellent c++ ledger.  hledger aims to be a
                practical, accessible tool for end users and a useful
                library for finance-minded haskell programmers.

license:        GPL
license-file:   LICENSE
author:         Simon Michael <simon@joyful.com>
maintainer:     Simon Michael <simon@joyful.com>
homepage:       http://hledger.org
bug-reports:    http://code.google.com/p/hledger/issues
stability:      experimental
tested-with:    GHC==6.8, GHC==6.10
cabal-version:  >= 1.2
build-type:     Custom

extra-tmp-files:
extra-source-files:
  README
  sample.ledger
  sample.timelog

flag vty
  description: enable the curses ui
  default:     False

flag web
  description: enable the web ui
  default:     False

library
  exposed-modules:
                  Ledger
                  Ledger.Account
                  Ledger.AccountName
                  Ledger.Amount
                  Ledger.Commodity
                  Ledger.Dates
                  Ledger.IO
                  Ledger.LedgerTransaction
                  Ledger.RawLedger
                  Ledger.Ledger
                  Ledger.Posting
                  Ledger.Parse
                  Ledger.TimeLog
                  Ledger.Transaction
                  Ledger.Types
                  Ledger.Utils
  Build-Depends:
                  base >= 3 && < 5
                 ,containers
                 ,directory
                 ,filepath
                 ,haskell98
                 ,old-time
                 ,parsec
                 ,time
                 ,utf8-string >= 0.3 && < 0.4
                 ,HUnit

executable hledger
  main-is:        hledger.hs
  other-modules:
                  Commands.Add
                  Commands.All
                  Commands.Balance
                  Commands.Convert
                  Commands.Histogram
                  Commands.Print
                  Commands.Register
                  Commands.Stats
                  Ledger
                  Ledger.Account
                  Ledger.AccountName
                  Ledger.Amount
                  Ledger.Commodity
                  Ledger.Dates
                  Ledger.IO
                  Ledger.LedgerTransaction
                  Ledger.Ledger
                  Ledger.Parse
                  Ledger.RawLedger
                  Ledger.Posting
                  Ledger.TimeLog
                  Ledger.Transaction
                  Ledger.Types
                  Ledger.Utils
                  Options
                  Tests
                  Utils
                  Version
  build-depends:
                  base >= 3 && < 5
                 ,bytestring
                 ,containers
                 ,csv
                 ,directory
                 ,filepath
                 ,haskell98
                 ,mtl
                 ,old-time
                 ,parsec
                 ,process
                 ,regexpr >= 0.5.1
                 ,split
                 ,testpack
                 ,time
                 ,utf8-string >= 0.3 && < 0.4
                 ,HUnit
                 ,safe >= 0.2

  -- should set patchlevel here as in Makefile
  cpp-options:    -DPATCHLEVEL=0

  if flag(vty)
    cpp-options: -DVTY
    other-modules:Commands.UI
    build-depends:
                  vty >= 4.0.0.1 && < 4.1

  if flag(web)
    cpp-options: -DWEB
    other-modules:Commands.Web
    build-depends:
                  hsp
                 ,hsx
                 ,xhtml >= 3000.2 && < 3000.3
                 ,loli
                 ,io-storage
                 ,hack-contrib
                 ,hack
                 ,hack-handler-happstack
                 ,happstack >= 0.3 && < 0.4
                 ,happstack-data >= 0.3 && < 0.4
                 ,happstack-server >= 0.3 && < 0.4
                 ,happstack-state >= 0.3 && < 0.4
                 ,HTTP >= 4000.0 && < 4000.1
                 ,applicative-extras


-- source-repository head
--   type:     darcs
--   location: http://joyful.com/repos/hledger
-- disabled for now due to:
-- The 'source-repository' section is new in Cabal-1.6. Unfortunately it messes
-- up the parser in earlier Cabal versions so you need to specify 'cabal-version:
-- >= 1.6'.

-- cf http://www.haskell.org/cabal/release/cabal-latest/doc/users-guide/authors.html

-- Additional dependencies:
-- required for make test: test-framework, test-framework-hunit
-- required for make bench: tabular-0.1