245 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			245 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# hpack specification for generating the cabal file
 | 
						|
# https://github.com/sol/hpack#readme
 | 
						|
# http://www.haskell.org/cabal/release/cabal-latest/doc/users-guide/authors.html
 | 
						|
#
 | 
						|
# as of hpack 0.5.4 these must be added manually:
 | 
						|
# - tested-with
 | 
						|
# - flags
 | 
						|
# - benchmarks
 | 
						|
# - conditional blocks
 | 
						|
 | 
						|
name        : hledger-web
 | 
						|
version     : '0.27'
 | 
						|
stability   : stable
 | 
						|
category    : Finance
 | 
						|
synopsis    : Web interface for the hledger accounting tool
 | 
						|
description : |
 | 
						|
    This is hledger's web interface.
 | 
						|
    It provides a more user-friendly and collaborative UI than the
 | 
						|
    command-line or curses-style interfaces.
 | 
						|
    hledger is a cross-platform program for tracking money, time, or
 | 
						|
    any other commodity, using double-entry accounting and a simple,
 | 
						|
    editable file format. It is inspired by and largely compatible
 | 
						|
    with ledger(1).  hledger provides command-line, curses and web
 | 
						|
    interfaces, and aims to be a reliable, practical tool for daily
 | 
						|
    use.    
 | 
						|
 | 
						|
license     : GPL
 | 
						|
author      : Simon Michael <simon@joyful.com>
 | 
						|
maintainer  : Simon Michael <simon@joyful.com>
 | 
						|
github      : simonmichael/hledger
 | 
						|
homepage    : http://hledger.org
 | 
						|
bug-reports : http://bugs.hledger.org
 | 
						|
# XXX not supported
 | 
						|
tested-with : GHC==7.6.3, GHC==7.8.4, GHC==7.10.1
 | 
						|
            
 | 
						|
extra-source-files:
 | 
						|
  - CHANGES
 | 
						|
  - config/favicon.ico
 | 
						|
  - config/keter.yaml
 | 
						|
  - config/robots.txt
 | 
						|
  - config/routes
 | 
						|
  - config/settings.yml
 | 
						|
  - messages/en.msg
 | 
						|
  - static/css/bootstrap-theme.css
 | 
						|
  - static/css/bootstrap-theme.css.map
 | 
						|
  - static/css/bootstrap-theme.min.css
 | 
						|
  - static/css/bootstrap.css
 | 
						|
  - static/css/bootstrap.css.map
 | 
						|
  - static/css/bootstrap.min.css
 | 
						|
  - static/fonts/glyphicons-halflings-regular.eot
 | 
						|
  - static/fonts/glyphicons-halflings-regular.svg
 | 
						|
  - static/fonts/glyphicons-halflings-regular.ttf
 | 
						|
  - static/fonts/glyphicons-halflings-regular.woff
 | 
						|
  - static/hledger.css
 | 
						|
  - static/hledger.js
 | 
						|
  - static/js/bootstrap.js
 | 
						|
  - static/js/bootstrap.min.js
 | 
						|
  - static/js/excanvas.js
 | 
						|
  - static/js/excanvas.min.js
 | 
						|
  - static/js/jquery.cookie.js
 | 
						|
  - static/js/jquery.flot.canvas.js
 | 
						|
  - static/js/jquery.flot.canvas.min.js
 | 
						|
  - static/js/jquery.flot.categories.js
 | 
						|
  - static/js/jquery.flot.categories.min.js
 | 
						|
  - static/js/jquery.flot.crosshair.js
 | 
						|
  - static/js/jquery.flot.crosshair.min.js
 | 
						|
  - static/js/jquery.flot.errorbars.js
 | 
						|
  - static/js/jquery.flot.errorbars.min.js
 | 
						|
  - static/js/jquery.flot.fillbetween.js
 | 
						|
  - static/js/jquery.flot.fillbetween.min.js
 | 
						|
  - static/js/jquery.flot.image.js
 | 
						|
  - static/js/jquery.flot.image.min.js
 | 
						|
  - static/js/jquery.flot.js
 | 
						|
  - static/js/jquery.flot.min.js
 | 
						|
  - static/js/jquery.flot.navigate.js
 | 
						|
  - static/js/jquery.flot.navigate.min.js
 | 
						|
  - static/js/jquery.flot.pie.js
 | 
						|
  - static/js/jquery.flot.pie.min.js
 | 
						|
  - static/js/jquery.flot.resize.js
 | 
						|
  - static/js/jquery.flot.resize.min.js
 | 
						|
  - static/js/jquery.flot.selection.js
 | 
						|
  - static/js/jquery.flot.selection.min.js
 | 
						|
  - static/js/jquery.flot.stack.js
 | 
						|
  - static/js/jquery.flot.stack.min.js
 | 
						|
  - static/js/jquery.flot.symbol.js
 | 
						|
  - static/js/jquery.flot.symbol.min.js
 | 
						|
  - static/js/jquery.flot.threshold.js
 | 
						|
  - static/js/jquery.flot.threshold.min.js
 | 
						|
  - static/js/jquery.flot.time.js
 | 
						|
  - static/js/jquery.flot.time.min.js
 | 
						|
  - static/js/jquery.flot.tooltip.js
 | 
						|
  - static/js/jquery.flot.tooltip.min.js
 | 
						|
  - static/js/jquery.hotkeys.js
 | 
						|
  - static/js/jquery.js
 | 
						|
  - static/js/jquery.min.js
 | 
						|
  - static/js/jquery.url.js
 | 
						|
  - static/js/typeahead.bundle.js
 | 
						|
  - static/js/typeahead.bundle.min.js
 | 
						|
  - templates/default-layout-wrapper.hamlet
 | 
						|
  - templates/default-layout.hamlet
 | 
						|
  - templates/homepage.hamlet
 | 
						|
  - templates/homepage.julius
 | 
						|
  - templates/homepage.lucius
 | 
						|
  - templates/normalize.lucius
 | 
						|
 | 
						|
# XXX not supported
 | 
						|
# flag threaded
 | 
						|
#     Description:   Build with support for multithreaded execution
 | 
						|
#     Default:       True
 | 
						|
 | 
						|
# 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
 | 
						|
 | 
						|
# flag old-locale
 | 
						|
#   description: A compatibility flag, set automatically by cabal.
 | 
						|
#                If false then depend on time >= 1.5, 
 | 
						|
#                if true then depend on time < 1.5 together with old-locale.
 | 
						|
#   default: False
 | 
						|
 | 
						|
dependencies:
 | 
						|
  - hledger-lib == 0.27
 | 
						|
  - hledger == 0.27
 | 
						|
  - base               >= 4 && < 5
 | 
						|
  - base-compat        >= 0.8.1
 | 
						|
  - blaze-html
 | 
						|
  - blaze-markup
 | 
						|
  - bytestring
 | 
						|
  - clientsession
 | 
						|
  - cmdargs            >= 0.10 && < 0.11
 | 
						|
  - data-default
 | 
						|
  - directory
 | 
						|
  - filepath
 | 
						|
  - hjsmin
 | 
						|
  - http-conduit
 | 
						|
  - http-client
 | 
						|
  - HUnit
 | 
						|
  - conduit-extra      >= 1.1
 | 
						|
  - parsec             >= 3
 | 
						|
  - safe               >= 0.2
 | 
						|
  - shakespeare        >= 2.0
 | 
						|
  - template-haskell
 | 
						|
  - text
 | 
						|
  - transformers
 | 
						|
  - wai
 | 
						|
  - wai-extra
 | 
						|
  - wai-handler-launch >= 1.3
 | 
						|
  - warp
 | 
						|
  - yaml
 | 
						|
  - yesod              >= 1.4 && < 1.5
 | 
						|
  - yesod-core
 | 
						|
  - yesod-form
 | 
						|
  - yesod-static
 | 
						|
  - json
 | 
						|
  # required by extra ghci utilities:
 | 
						|
  # - fsnotify
 | 
						|
  # - hsdev
 | 
						|
  # - mtl
 | 
						|
 | 
						|
# if flag(old-locale)
 | 
						|
#   build-depends: time < 1.5, old-locale
 | 
						|
# else
 | 
						|
#   build-depends: time >= 1.5
 | 
						|
  - time >= 1.5
 | 
						|
 | 
						|
ghc-options:
 | 
						|
  -Wall
 | 
						|
  -fno-warn-unused-do-bind
 | 
						|
  -fno-warn-name-shadowing
 | 
						|
  -fno-warn-missing-signatures
 | 
						|
  -fno-warn-type-defaults
 | 
						|
  -fno-warn-orphans
 | 
						|
 | 
						|
# XXX not supported
 | 
						|
# extensions:
 | 
						|
#   CPP
 | 
						|
#   MultiParamTypeClasses
 | 
						|
#   NoImplicitPrelude
 | 
						|
#   OverloadedStrings
 | 
						|
#   QuasiQuotes
 | 
						|
#   RecordWildCards
 | 
						|
#   TemplateHaskell
 | 
						|
#   TypeFamilies
 | 
						|
# # -- seem to not be needed at present:
 | 
						|
# #   -- GADTs
 | 
						|
# #   -- GeneralizedNewtypeDeriving
 | 
						|
# #   -- FlexibleContexts
 | 
						|
# #   -- EmptyDataDecls
 | 
						|
# #   -- NoMonomorphismRestriction
 | 
						|
 | 
						|
cpp-options: -DVERSION="0.27"
 | 
						|
# XXX
 | 
						|
# if flag(dev) || flag(library-only)
 | 
						|
#   cpp-options: -DDEVELOPMENT
 | 
						|
 | 
						|
library:
 | 
						|
  # source-dirs: .  # XXX includes Setup and uncommitted stuff
 | 
						|
  exposed-modules:
 | 
						|
    - Application
 | 
						|
    - Foundation
 | 
						|
    - Handler.AddForm
 | 
						|
    - Handler.Common
 | 
						|
    - Handler.JournalR
 | 
						|
    - Handler.RegisterR
 | 
						|
    - Handler.RootR
 | 
						|
    - Handler.SidebarR
 | 
						|
    - Handler.Utils
 | 
						|
    - Hledger.Web
 | 
						|
    - Hledger.Web.Main
 | 
						|
    - Hledger.Web.WebOptions
 | 
						|
    - Import
 | 
						|
    - Settings
 | 
						|
    - Settings.Development
 | 
						|
    - Settings.StaticFiles
 | 
						|
    #- Setup # stops yesod devel complaining but requires depending on Cabal
 | 
						|
 | 
						|
executables:
 | 
						|
  hledger-web:
 | 
						|
    # XXX
 | 
						|
    # if flag(library-only)
 | 
						|
    #   buildable: False
 | 
						|
    # if flag(threaded)
 | 
						|
    #   ghc-options: -threaded
 | 
						|
    ghc-options:
 | 
						|
      -threaded
 | 
						|
    # if flag(dev)
 | 
						|
    #   ghc-options:   -O0
 | 
						|
    source-dirs: app
 | 
						|
    main: main.hs
 | 
						|
    dependencies:
 | 
						|
      - hledger-web == 0.27
 | 
						|
 | 
						|
tests:
 | 
						|
  test:
 | 
						|
    source-dirs: tests
 | 
						|
    main: main.hs
 | 
						|
    dependencies:
 | 
						|
      - hledger-web
 | 
						|
      - hspec
 | 
						|
      - yesod-test
 |