packages feed

penny-lib-0.16.0.0: penny-lib.cabal

Name: penny-lib
Version: 0.16.0.0
Cabal-version: >=1.8
Build-Type: Simple
License: BSD3
Copyright: 2012-2013 Omari Norman.
author: Omari Norman
maintainer: omari@smileystation.com
stability: Experimental
homepage: http://www.github.com/massysett/penny
bug-reports: omari@smileystation.com
Category: Console, Finance
License-File: LICENSE

synopsis: Extensible double-entry accounting system - library

description: Penny is a double-entry accounting system. It is inspired
  by, but incompatible with, John Wiegley's Ledger, which is available
  at <http://ledger-cli.org/>.

  .

  This package is a library. To start using Penny you will want to
  install the penny-bin package, which has the executable programs.
  More about the penny-bin package, along with a full sales pitch
  for Penny and how to get started, is at
  <http://hackage.haskell.org/package/penny-bin>. It may be installed
  with "cabal install penny-bin".

  .

  The Penny library is a full system to work with double-entry
  accounting transactions and postings and to make reports with them.

source-repository head
  type: git
  location: git://github.com/massysett/penny.git

Library
  Build-depends:
      base ==4.*
    , action-permutations ==0.0.0.0
    , binary ==0.7.*
    , bytestring ==0.10.*
    , cereal ==0.3.*
    , containers ==0.5.*
    , explicit-exception ==0.1.*
    , matchers ==0.6.*
    , multiarg ==0.16.*
    , ofx ==0.2.*
    , old-locale ==1.0.*
    , parsec >= 3.1.2 && < 3.2
    , prednote == 0.10.*
    , pretty-show ==1.5.*
    , rainbow ==0.4.*
    , semigroups ==0.9.*
    , split ==0.2.*
    , text ==0.11.*
    , time ==1.4.*
    , transformers == 0.3.*

  Exposed-modules:
      Penny
    , Penny.Brenner
    , Penny.Brenner.Clear
    , Penny.Brenner.Database
    , Penny.Brenner.Import
    , Penny.Brenner.Info
    , Penny.Brenner.Merge
    , Penny.Brenner.OFX
    , Penny.Brenner.Print
    , Penny.Brenner.Types
    , Penny.Brenner.Util
    , Penny.Cabin
    , Penny.Cabin.Balance
    , Penny.Cabin.Balance.Convert
    , Penny.Cabin.Balance.Convert.Chunker
    , Penny.Cabin.Balance.Convert.Options
    , Penny.Cabin.Balance.Convert.Parser
    , Penny.Cabin.Balance.MultiCommodity
    , Penny.Cabin.Balance.MultiCommodity.Chunker
    , Penny.Cabin.Balance.MultiCommodity.Parser
    , Penny.Cabin.Balance.Util
    , Penny.Cabin.Interface
    , Penny.Cabin.Meta
    , Penny.Cabin.Options
    , Penny.Cabin.Parsers
    , Penny.Cabin.Posts
    , Penny.Cabin.Posts.Allocated
    , Penny.Cabin.Posts.BottomRows
    , Penny.Cabin.Posts.Fields
    , Penny.Cabin.Posts.Growers
    , Penny.Cabin.Posts.Chunk
    , Penny.Cabin.Posts.Meta
    , Penny.Cabin.Posts.Parser
    , Penny.Cabin.Posts.Spacers
    , Penny.Cabin.Posts.Types
    , Penny.Cabin.Row
    , Penny.Cabin.Scheme
    , Penny.Cabin.Scheme.Schemes
    , Penny.Cabin.TextFormat
    , Penny.Copper
    , Penny.Copper.Interface
    , Penny.Copper.Parsec
    , Penny.Copper.Render
    , Penny.Copper.Terminals
    , Penny.Liberty
    , Penny.Lincoln
    , Penny.Lincoln.Balance
    , Penny.Lincoln.Bits
    , Penny.Lincoln.Bits.DateTime
    , Penny.Lincoln.Bits.Open
    , Penny.Lincoln.Bits.Price
    , Penny.Lincoln.Bits.Qty
    , Penny.Lincoln.Builders
    , Penny.Lincoln.Ents
    , Penny.Lincoln.Equivalent
    , Penny.Lincoln.HasText
    , Penny.Lincoln.Matchers
    , Penny.Lincoln.Predicates
    , Penny.Lincoln.Predicates.Siblings
    , Penny.Lincoln.PriceDb
    , Penny.Lincoln.Queries
    , Penny.Lincoln.Queries.Siblings
    , Penny.Lincoln.Serial
    , Penny.Shield
    , Penny.Steel
    , Penny.Steel.NestedMap
    , Penny.Steel.Sums
    , Penny.Wheat
    , Penny.Zinc

  Other-modules:
      Paths_penny_lib

  hs-source-dirs: lib

  if flag(incabal)
    cpp-options: -Dincabal

  ghc-options: -Wall
  if flag(debug)
    ghc-options: -auto-all -caf-all

  if ! flag (buildlib)
    buildable: False

-- I'm going to not list the exposed-modules for the test, and
-- hope it works :) it seems cabal only uses this information for
-- executables to determine what to bundle into the dist tarball.
-- Since the test modules are all listed above for the library,
-- this should not be a problem. However, if there are extra
-- test modules that are not in the library, list them here.
Executable penny-test
  Main-is: penny-test.hs
  hs-source-dirs: tests lib
  Build-depends:
      base ==4.*
    , action-permutations ==0.0.0.0
    , binary ==0.7.*
    , bytestring ==0.10.*
    , cereal ==0.3.*
    , containers ==0.5.*
    , explicit-exception ==0.1.*
    , matchers ==0.6.*
    , monad-loops ==0.3.*
    , multiarg ==0.16.*
    , ofx ==0.2.*
    , old-locale ==1.0.*
    , parsec >= 3.1.2 && < 3.2
    , pcre-light ==0.4.*
    , prednote == 0.10.*
    , pretty-show ==1.5.*
    , rainbow ==0.4.*
    , semigroups ==0.9.*
    , split ==0.2.*
    , strict ==0.3.*
    , terminfo == 0.3.*
    , text ==0.11.*
    , time ==1.4.*
    , transformers == 0.3.*


    -- Test dependencies. test-framework has issues with newer versions,
    -- see
    -- https://github.com/batterseapower/test-framework/issues/34
    , QuickCheck ==2.5.*
    , random-shuffle ==0.0.4

  if ! flag(test)
    buildable: False

  ghc-options: -Wall

Executable penny-gibberish
  Main-is: penny-gibberish.hs
  hs-source-dirs: tests lib
  Build-depends:
      base ==4.*
    , action-permutations ==0.0.0.0
    , binary ==0.7.*
    , bytestring ==0.10.*
    , cereal ==0.3.*
    , containers ==0.5.*
    , explicit-exception ==0.1.*
    , matchers ==0.6.*
    , monad-loops ==0.3.*
    , multiarg ==0.16.*
    , ofx ==0.2.*
    , old-locale ==1.0.*
    , parsec >= 3.1.2 && < 3.2
    , pcre-light ==0.4.*
    , prednote == 0.10.*
    , pretty-show ==1.5.*
    , rainbow ==0.4.*
    , semigroups ==0.9.*
    , split ==0.2.*
    , strict ==0.3.*
    , terminfo == 0.3.*
    , text ==0.11.*
    , time ==1.4.*
    , transformers == 0.3.*


    -- Test dependencies. test-framework has issues with newer versions,
    -- see
    -- https://github.com/batterseapower/test-framework/issues/34
    , QuickCheck ==2.5.*
    , random-shuffle ==0.0.4
    , random ==1.0.*

  if ! flag(test)
    buildable: False

  ghc-options: -Wall

Flag debug
  Description: turns on some debugging options
  Default: False

Flag test
  Description: enables QuickCheck tests
  Default: False

Flag incabal
  Description: enables imports that only Cabal makes available
  Default: True

Flag buildlib
  Description: build library
  Default: True