cabal-version:       2.2
name:                imm
version:             2.0.0.0
synopsis:            Execute arbitrary actions for each item from RSS/Atom feeds
description:         Cf README file
homepage:            https://github.com/k0ral/imm
license:             CC0-1.0
license-file:        LICENSE
author:              kamaradclimber, koral
maintainer:          mail@cmoreau.info
category:            Web
build-type:          Simple
data-files:          data/*.dhall
extra-source-files:  README.md, *.nix, schema/*.json
tested-with:         GHC <8.12 && >=8.4.4

source-repository head
  type:     git
  location: git://github.com/k0ral/imm.git

common common
  build-depends: base-noprelude >=4.7 && <5, relude
  default-language: Haskell2010
  other-modules:
    Prelude

library
  import: common
  exposed-modules:
    Imm
    Imm.Callback
    Imm.Feed
    Imm.HTTP
    Imm.Link
    Imm.Logger
    Imm.Pretty
    Imm.XML
    URI.ByteString.Extended
  other-modules:
    Data.Aeson.Extended
  build-depends:
    aeson,
    aeson-pretty,
    atom-conduit >= 0.7,
    conduit,
    containers,
    dhall >= 1.27,
    directory >= 1.2.3.0,
    filepath,
    http-client,
    microlens,
    parsec,
    parsers,
    pipes,
    pipes-bytestring,
    prettyprinter,
    prettyprinter-ansi-terminal,
    refined >=0.4.1,
    rss-conduit >= 0.5.1,
    safe,
    safe-exceptions,
    text,
    time,
    timerep >= 2.0.0.0,
    typed-process,
    uri-bytestring,
    xml-conduit >= 1.5,
    xml-types
  hs-source-dirs: src/lib
  ghc-options: -Wall -fno-warn-unused-do-bind

executable imm
  import: common
  build-depends: imm, aeson, async, beam-core, beam-sqlite, bytestring, chronos, co-log, conduit, containers, dhall >= 1.27, directory, filepath, http-types, microlens, monad-time, optparse-applicative, prettyprinter-ansi-terminal, pipes, pipes-bytestring, pipes-http, safe, safe-exceptions, sqlite-simple, stm, stm-chans, streamly, text, time, typed-process, typerep-map, uri-bytestring, xml-conduit >=1.5, xml-types
  main-is: Main.hs
  other-modules: 
    Alternate
    Core
    Database.Async
    Database.Handle
    Database.ReadOnly
    Database.Record
    Database.SQLite
    HTTP
    Input
    Logger
    Output
    Paths_imm
    XML
  autogen-modules: Paths_imm
  hs-source-dirs: src/main
  ghc-options: -Wall -fno-warn-unused-do-bind -threaded

executable imm-writefile
  import: common
  build-depends: imm, aeson, blaze-html, blaze-markup, bytestring, directory, filepath, optparse-applicative, prettyprinter, safe-exceptions, text, time, uri-bytestring
  main-is: Main.hs
  hs-source-dirs: src/write-file
  ghc-options: -Wall -fno-warn-unused-do-bind -threaded

executable imm-sendmail
  import: common
  build-depends: imm, aeson, blaze-html, blaze-markup, bytestring, dhall >= 1.27, directory, filepath, mime-mail, optparse-applicative, prettyprinter, refined, safe-exceptions, text, time, typed-process, uri-bytestring
  main-is: Main.hs
  hs-source-dirs: src/send-mail
  ghc-options: -Wall -fno-warn-unused-do-bind -threaded