packages feed

hledger-0.6: hledger.cabal

name:           hledger
-- Version is set by the makefile
version:        0.6
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:     Simple

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

flag vty
  description: enable the curses ui
  default:     False

flag happs
  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
                 ,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
                 ,parsec
                 ,process
                 ,regexpr >= 0.5.1
                 ,split
                 ,testpack
                 ,time
                 ,utf8-string >= 0.3 && < 0.4
                 ,HUnit

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

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

  if flag(happs)
    cpp-options: -DHAPPS
    other-modules:Commands.Web
    build-depends:
                  happstack >= 0.2 && < 0.3
                 ,happstack-data >= 0.2 && < 0.3
                 ,happstack-server >= 0.2 && < 0.3
                 ,happstack-state >= 0.2 && < 0.3
                 ,xhtml >= 3000.2 && < 3000.3
                 ,HTTP >= 4000.0 && < 4000.1

-- 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