packages feed

termonad-4.0.1.2: termonad.cabal

name:                termonad
version:             4.0.1.2
synopsis:            Terminal emulator configurable in Haskell
description:
  Termonad is a terminal emulator configurable in Haskell.  It is extremely
  customizable and provides hooks to modify the default behavior.  It can be
  thought of as the \"XMonad\" of terminal emulators.  Termonad was featured on
  an <https://www.youtube.com/watch?v=TLNr_gBv5HY episode> of
  <https://www.youtube.com/channel/UCVls1GmFKf6WlTraIb_IaJg DistroTube>.  This
  video gives a short overview of Termonad.
  .
  Please see <https://github.com/cdepillabout/termonad#readme README.md> for
  more information.
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-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.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.13 && < 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
                     , 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
                     , termonad
  default-language:    Haskell2010
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N
  -- For some reason doctests appear to be segfaulting when compiling with
  -- ghc-8.10.3, so only build them when using ghc-8.10.2 or earlier.
  if impl(ghc <= 8.10.2)
    buildable:         True
  else
    buildable:         False

test-suite termonad-test
  type:                exitcode-stdio-1.0
  main-is:             Test.hs
  hs-source-dirs:      test
  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
  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-gruvbox
  main-is:             example-config/ExampleGruvboxColourExtension.hs
  build-depends:       base
                     , termonad
                     , colour
  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
  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