cabal-version: 2.4
name: canadian-income-tax
version: 2024.1
synopsis: Canadian income tax calculation
description: This package provides a library and executable to fill out
incomplete Canadian tax forms in FDF format and to populate all
fields therein that can be automatically calculated from the rest
of the form.
category: tax, productivity
license: GPL-3.0-or-later
license-files: LICENSE
copyright: (c) 2023 Mario Blažević
author: Mario Blažević
maintainer: blamario@protonmail.com
bug-reports: https://github.com/blamario/canadian-income-tax/issues
tested-with: ghc == 9.4.4, ghc == 9.6.3
extra-doc-files: CHANGELOG.md, README.md
data-dir: data/
data-files: **/*.fdf **/*.pdf
source-repository head
type: git
location: https://github.com/blamario/canadian-income-tax
common stanzas
default-language: Haskell2010
GHC-options: -Wall
library
import: stanzas
exposed-modules:
Tax.Canada
Tax.Canada.Federal
Tax.Canada.Federal.Schedule6
Tax.Canada.Federal.Schedule7
Tax.Canada.Federal.Schedule8
Tax.Canada.Federal.Schedule9
Tax.Canada.Federal.Schedule11
Tax.Canada.FormKey
Tax.Canada.Province.AB
Tax.Canada.Province.BC
Tax.Canada.Province.MB
Tax.Canada.Province.NB
Tax.Canada.Province.NL
Tax.Canada.Province.ON
Tax.Canada.Province.PE
Tax.Canada.Province.QC
Tax.Canada.Territory.NT
Tax.Canada.Territory.NU
Tax.Canada.Territory.YT
Tax.Canada.Shared
Tax.Canada.T1
Tax.Canada.T4
Tax.FDF
Tax.PDFtk
Tax.Util
other-modules:
Tax.Canada.T1.Types
Tax.Canada.T1.FieldNames.AB
Tax.Canada.T1.FieldNames.BC
Tax.Canada.T1.FieldNames.NB
Tax.Canada.T1.FieldNames.NL
Tax.Canada.T1.FieldNames.NT
Tax.Canada.T1.FieldNames.NU
Tax.Canada.T1.FieldNames.ON
Tax.Canada.T1.FieldNames.PE
Tax.Canada.T1.FieldNames.QC
Tax.Canada.T1.FieldNames.YT
Tax.Canada.T1.Fix
Tax.Canada.Province.AB.AB428.Types
Tax.Canada.Province.AB.AB428.FieldNames
Tax.Canada.Province.AB.AB428.Fix
Tax.Canada.Province.BC.BC428.Types
Tax.Canada.Province.BC.BC428.FieldNames
Tax.Canada.Province.BC.BC428.Fix
Tax.Canada.Province.BC.BC479.Types
Tax.Canada.Province.BC.BC479.FieldNames
Tax.Canada.Province.BC.BC479.Fix
Tax.Canada.Province.MB.MB428.Types
Tax.Canada.Province.MB.MB428.FieldNames
Tax.Canada.Province.MB.MB428.Fix
Tax.Canada.Province.ON.ON428.Types
Tax.Canada.Province.ON.ON428.FieldNames
Tax.Canada.Province.ON.ON428.Fix
Tax.Canada.Province.ON.ON479.Types
Tax.Canada.Province.ON.ON479.FieldNames
Tax.Canada.Province.ON.ON479.Fix
-- LANGUAGE extensions used by modules in this package.
-- other-extensions:
build-depends: base == 4.*, text >= 1.0 && < 2.2, bytestring >= 0.10.4 && < 1,
time == 1.*, containers >= 0.5 && < 0.9, bitwise-enum ^>= 1.0.0, bifunctors ^>= 5.6,
monoid-subclasses == 1.*, rank2classes ^>= 1.5.3, deep-transformations ^>= 0.2.2 || ^>= 0.3,
ca-province-codes == 1.0.*, forms-data-format ^>= 0.2, typed-process >= 0.1 && ^>=0.2,
template-haskell == 2.*
hs-source-dirs: src
GHC-options: -Wno-ambiguous-fields -Wno-simplifiable-class-constraints
executable complete-canadian-taxes
import: stanzas
main-is: Main.hs
-- Modules included in this executable, other than Main.
-- other-modules:
-- LANGUAGE extensions used by modules in this package.
-- other-extensions:
build-depends:
base == 4.*, text, bytestring, containers,
monoid-subclasses, rank2classes,
optparse-applicative >= 0.15 && < 0.19,
filepath >= 1.3 && < 1.6, directory >= 1.2 && < 1.4, tar >= 0.4 && < 0.7,
ca-province-codes,
forms-data-format, canadian-income-tax
other-modules: Paths_canadian_income_tax
autogen-modules: Paths_canadian_income_tax
hs-source-dirs: app
executable serve-canadian-taxes
import: stanzas
main-is: Main.hs
other-modules: Paths_canadian_income_tax
autogen-modules: Paths_canadian_income_tax
-- Modules included in this executable, other than Main.
-- other-modules:
-- LANGUAGE extensions used by modules in this package.
-- other-extensions:
build-depends:
base == 4.*, text, bytestring, containers, monoid-subclasses,
fast-logger ^>= 3.0 || ^>= 3.1 || ^>= 3.2.1,
filepath >= 1.3 && < 1.6, unix >= 2.6 && < 2.9, directory >= 1.2 && < 1.4,
time >= 1.9.1 && < 1.15, zip-archive ^>= 0.4, aeson ^>= 2.2,
http-types ^>= 0.12, scotty ^>= 0.22, wai-extra ^>= 3.1.10, wai-middleware-static ^>= 0.9.1,
forms-data-format, canadian-income-tax
hs-source-dirs: web
ghc-options: -threaded
test-suite properties
import: stanzas
type: exitcode-stdio-1.0
build-depends: base >= 4.7 && < 5, bytestring,
directory ^>= 1.3, filepath,
forms-data-format, monoid-subclasses, rank2classes, deep-transformations,
text, time >= 1.9.1 && < 1.15, ca-province-codes,
tasty >= 0.7, tasty-hedgehog ^>= 1.4, hedgehog ^>= 1.4 || ^>= 1.5,
canadian-income-tax
hs-source-dirs: test
main-is: Properties.hs
other-modules: Test.Transformations
Paths_canadian_income_tax
autogen-modules: Paths_canadian_income_tax
GHC-options: -Wno-incomplete-uni-patterns
test-suite regression
import: stanzas
type: exitcode-stdio-1.0
build-depends: base >= 4.7 && < 5, bytestring, containers,
directory ^>= 1.3, filepath,
forms-data-format,
rank2classes, deep-transformations,
text, time >= 1.9.1 && < 1.15, ca-province-codes,
tasty >= 0.7, tasty-golden ^>=2.3,
canadian-income-tax
hs-source-dirs: test
main-is: Regression.hs
GHC-options: -Wno-incomplete-uni-patterns