packages feed

himari-1.1.2.1: himari.cabal

cabal-version: 3.12
name: himari
version: 1.1.2.1
synopsis: A standard library for Haskell as an alternative to rio
description:
  A standard library for Haskell inspired by rio.
  Unlike rio, himari uses the full lens library instead of microlens,
  and provides hlint rules to warn against partial functions
  instead of providing safe wrapper modules.
  See the README at <https://github.com/ncaq/himari#readme> for more information.

homepage: https://github.com/ncaq/himari
bug-reports: https://github.com/ncaq/himari/issues
license: Apache-2.0
license-file: LICENSE
author: ncaq
maintainer: ncaq@ncaq.net
copyright: ncaq
category: Control
build-type: Simple
data-files:
  .hlint.yaml
  fourmolu.yaml

extra-doc-files:
  CHANGELOG.md
  README.md

tested-with:
  ghc ==9.10.2
  ghc ==9.10.3
  ghc ==9.12.2
  ghc ==9.12.3
  ghc ==9.12.4
  ghc ==9.14.1

source-repository head
  type: git
  location: https://github.com/ncaq/himari.git

common basic
  ghc-options:
    -Wall
    -Wcompat
    -Widentities
    -Wincomplete-record-updates
    -Wincomplete-uni-patterns
    -Wpartial-fields
    -Wredundant-constraints

  default-language: GHC2024
  default-extensions:
    ApplicativeDo
    BlockArguments
    CPP
    DefaultSignatures
    DerivingVia
    DuplicateRecordFields
    FunctionalDependencies
    LexicalNegation
    LinearTypes
    MonadComprehensions
    MultiWayIf
    NegativeLiterals
    NoFieldSelectors
    NoImplicitPrelude
    OverloadedLabels
    OverloadedRecordDot
    OverloadedStrings
    ParallelListComp
    PatternSynonyms
    QualifiedDo
    QuantifiedConstraints
    QuasiQuotes
    RecordWildCards
    RecursiveDo
    StrictData
    TemplateHaskell
    TypeData
    TypeFamilies
    TypeFamilyDependencies
    ViewPatterns

  build-depends:
    aeson ^>=2.2.3.0,
    aeson-pretty ^>=0.8.10,
    base >=4.19.2.0 && <4.23,
    bytestring ^>=0.12.2.0,
    containers ^>=0.7,
    convertible ^>=1.1.1.1,
    data-default ^>=0.8.0.2,
    deepseq ^>=1.5.0.0,
    deriving-aeson ^>=0.2.10,
    exceptions ^>=0.10.9,
    filepath ^>=1.5.4.0,
    hashable ^>=1.5.0.0,
    lens ^>=5.3.5,
    monad-logger ^>=0.3.42,
    mtl ^>=2.3.1,
    pretty-simple ^>=4.1.3,
    primitive ^>=0.9.1.0,
    retry ^>=0.9.3.1,
    safe ^>=0.3.21,
    text ^>=2.1.2,
    time ^>=1.12.2,
    typed-process ^>=0.2.13.0,
    unliftio ^>=0.2.25.1,
    unordered-containers ^>=0.2.20,
    vector ^>=0.13.2.0,

library
  import: basic
  hs-source-dirs: src
  -- cabal-gild: discover ./src
  exposed-modules:
    Himari
    Himari.Char
    Himari.Env
    Himari.Env.Simple
    Himari.Logger
    Himari.Prelude
    Himari.Prelude.Aeson
    Himari.Prelude.Arrow
    Himari.Prelude.Catch
    Himari.Prelude.Category
    Himari.Prelude.Data
    Himari.Prelude.FilePath
    Himari.Prelude.Generics
    Himari.Prelude.Monoid
    Himari.Prelude.Process
    Himari.Prelude.Safe
    Himari.Prelude.Type
    Himari.Prelude.TypeLevel

test-suite himari-test
  import: basic
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  -- cabal-gild: discover ./test --exclude=**/Main.hs
  other-modules:
    Himari.CharSpec
    Himari.Env.SimpleSpec
    Himari.Prelude.FunctorSpec
    Himari.Title
    HlintBaseSpec
    HlintExtensionSpec
    HlintSamples.BasePartial
    HlintSamples.ExtensionDangerous
    HlintSamples.UnliftioPreference
    HlintUnliftioSpec
    TitleSpec

  ghc-options:
    -threaded
    -rtsopts
    -with-rtsopts=-N

  build-depends:
    QuickCheck ^>=2.15.0.1,
    himari,
    sydtest >=0.18.0.0 && <0.24,

executable anomaly-monitor
  import: basic
  hs-source-dirs: example/anomaly-monitor
  main-is: Main.hs
  -- cabal-gild: discover ./example/anomaly-monitor --exclude=**/Main.hs
  other-modules:
    Anomaly
    Banner
    Config
    Cpu
    Env
    Exception
    Loop
    Run

  ghc-options:
    -threaded
    -rtsopts
    -with-rtsopts=-N

  build-depends:
    himari