packages feed

termonad-3.0.0.0: termonad.cabal

name:                termonad
version:             3.0.0.0
synopsis:            Terminal emulator configurable in Haskell
description:         Please see <https://github.com/cdepillabout/termonad#readme README.md>.
homepage:            https://github.com/cdepillabout/termonad
license:             BSD3
license-file:        LICENSE
author:              Dennis Gosnell
maintainer:          cdep.illabout@gmail.com
copyright:           2017 Dennis Gosnell
category:            Text
build-type:          Custom
cabal-version:       >=1.12
extra-source-files:  README.md
                   , CHANGELOG.md
                   , default.nix
                   , glade/preferences.glade
                   , glade/README.md
                   , img/termonad.png
                   , .nix-helpers/nixops.nix
                   , .nix-helpers/nixpkgs.nix
                   , .nix-helpers/stack-fhs-env.nix
                   , .nix-helpers/stack-shell.nix
                   , .nix-helpers/termonad-with-packages.nix
                   , shell.nix
data-files:          img/termonad-lambda.png
custom-setup
  setup-depends:     base
                   , Cabal
                   , cabal-doctest >=1.0.2 && <1.1

-- This flag builds the example code in the example-config/ directory, as well
-- as the example from the README.md file.  It is only used for testing.  It
-- should be enabled for CI.
flag buildexamples
  description: Build an executable from the examples in the example-config/
               directory, as well as the example from the README.md file.  This
               is normally only used for testing.
  default:     False

library
  hs-source-dirs:      src
  exposed-modules:     Termonad
                     , Termonad.App
                     , Termonad.Config
                     , Termonad.Config.Colour
                     , Termonad.Config.Vec
                     , Termonad.Gtk
                     , Termonad.Keys
                     , Termonad.Lenses
                     , Termonad.Pcre
                     , Termonad.PreferencesFile
                     , Termonad.Prelude
                     , Termonad.Term
                     , Termonad.Types
                     , Termonad.XML
  other-modules:       Paths_termonad
  build-depends:       base >= 4.11 && < 5
                     , adjunctions
                     , classy-prelude
                     , colour
                     , constraints
                     , containers
                     , data-default
                     , directory >= 1.3.1.0
                     , distributive
                     , dyre
                     , file-embed
                     , filepath
                     , focuslist
                     , gi-gdk
                     , gi-gio
                     , gi-glib
                     , gi-gtk >= 3.0.24
                     , gi-pango
                     , gi-vte >= 2.91.19
                     , haskell-gi-base >= 0.21.2
                     , inline-c
                     , lens
                     , mono-traversable
                     , pretty-simple
                     , QuickCheck
                     , singletons
                     , text
                     , transformers
                     , yaml
                     , xml-conduit
                     , xml-html-qq
  default-language:    Haskell2010
  ghc-options:         -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates
  default-extensions:  DataKinds
                     , DefaultSignatures
                     , DeriveAnyClass
                     , DeriveFoldable
                     , DeriveFunctor
                     , DeriveGeneric
                     , DerivingStrategies
                     , EmptyCase
                     , ExistentialQuantification
                     , FlexibleContexts
                     , FlexibleInstances
                     , GADTs
                     , GeneralizedNewtypeDeriving
                     , InstanceSigs
                     , KindSignatures
                     , LambdaCase
                     , MultiParamTypeClasses
                     , NamedFieldPuns
                     , NoImplicitPrelude
                     , OverloadedLabels
                     , OverloadedLists
                     , OverloadedStrings
                     , PatternSynonyms
                     , PolyKinds
                     , RankNTypes
                     , RecordWildCards
                     , ScopedTypeVariables
                     , StandaloneDeriving
                     , TypeApplications
                     , TypeFamilies
                     , TypeOperators
  other-extensions:    TemplateHaskell
                     , UndecidableInstances
  pkgconfig-depends:   gtk+-3.0
                     , libpcre2-8
                     , vte-2.91 >= 0.46

executable termonad
  main-is:             Main.hs
  hs-source-dirs:      app
  build-depends:       base
                     , termonad
  default-language:    Haskell2010
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N

test-suite doctests
  type:                exitcode-stdio-1.0
  main-is:             DocTest.hs
  hs-source-dirs:      test
  build-depends:       base
                     , doctest
                     , QuickCheck
                     , template-haskell
  default-language:    Haskell2010
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N

test-suite termonad-test
  type:                exitcode-stdio-1.0
  main-is:             Test.hs
  hs-source-dirs:      test
  -- other-modules:       Test.FocusList
  --                    , Test.FocusList.Invariants
  build-depends:       base
                     , genvalidity-containers
                     , genvalidity-hspec
                     , hedgehog
                     , lens
                     , QuickCheck
                     , termonad
                     , tasty
                     , tasty-hedgehog
                     , tasty-hspec
  default-language:    Haskell2010
  ghc-options:         -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -threaded -rtsopts -with-rtsopts=-N
  default-extensions:  DataKinds
                     , GADTs
                     , GeneralizedNewtypeDeriving
                     , InstanceSigs
                     , KindSignatures
                     , NamedFieldPuns
                     , NoImplicitPrelude
                     , OverloadedStrings
                     , OverloadedLabels
                     , OverloadedLists
                     , PatternSynonyms
                     , PolyKinds
                     , RankNTypes
                     , RecordWildCards
                     , ScopedTypeVariables
                     , TypeApplications
                     , TypeFamilies
                     , TypeOperators
  other-extensions:    TemplateHaskell

executable termonad-readme
  main-is:             README.lhs
  hs-source-dirs:      test/readme
  build-depends:       base
                     , markdown-unlit
                     , termonad
                     , colour
  ghc-options:         -pgmL markdown-unlit
  default-language:    Haskell2010
  ghc-options:         -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -threaded -rtsopts -with-rtsopts=-N

  if flag(buildexamples)
    buildable:         True
  else
    buildable:         False

executable termonad-example-colour-extension
  main-is:             example-config/ExampleColourExtension.hs
  build-depends:       base
                     , termonad
                     , colour
                     , singletons
  default-language:    Haskell2010
  ghc-options:         -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -threaded -rtsopts -with-rtsopts=-N

  if flag(buildexamples)
    buildable:         True
  else
    buildable:         False

executable termonad-example-colour-extension-solarized
  main-is:             example-config/ExampleSolarizedColourExtension.hs
  build-depends:       base
                     , termonad
                     , colour
                     , singletons
  default-language:    Haskell2010
  ghc-options:         -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -threaded -rtsopts -with-rtsopts=-N

  if flag(buildexamples)
    buildable:         True
  else
    buildable:         False

source-repository head
  type:     git
  location: https://github.com/cdepillabout/termonad/

-- benchmark termonad-bench
--   type:                exitcode-stdio-1.0
--   main-is:             Bench.hs
--   hs-source-dirs:      bench
--   build-depends:       base
--                      , criterion
--                      , termonad
--   default-language:    Haskell2010
--   ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N

source-repository head
  type:     git
  location: git@github.com:cdepillabout/termonad.git