packages feed

unionmount-0.3.0.0: unionmount.cabal

cabal-version:      2.4
name:               unionmount
version:            0.3.0.0
license:            MIT
copyright:          2021 Sridhar Ratnakumar
maintainer:         srid@srid.ca
author:             Sridhar Ratnakumar
category:           Filesystem

-- TODO: Before hackage release.
-- A short (one-line) description of the package.
synopsis:           Union mount filesystem paths into Haskell datastructures

-- A longer description of the package.
description:        Union mount filesystem paths into Haskell datastructures

-- A URL where users can report bugs.
bug-reports:        https://github.com/srid/unionmount
extra-source-files:
  LICENSE
  README.md

flag ghcid
  default: False
  manual:  True

common library-common
  build-depends:
    , async
    , base          >=4.13.0 && <5
    , bytestring
    , containers
    , data-default
    , directory
    , filepath
    , filepattern
    , fsnotify      >=0.4.0  && <0.5
    , lvar
    , monad-logger
    , mtl
    , relude
    , text
    , time
    , unliftio
    , with-utf8

  mixins:
    base hiding (Prelude),
    relude (Relude as Prelude, Relude.Container.One),
    relude

  ghc-options:
    -Wall -Wincomplete-record-updates -Wincomplete-uni-patterns

  default-extensions:
    FlexibleContexts
    FlexibleInstances
    ImportQualifiedPost
    KindSignatures
    LambdaCase
    MultiParamTypeClasses
    MultiWayIf
    OverloadedStrings
    ScopedTypeVariables
    TupleSections
    ViewPatterns

  default-language:   Haskell2010

library
  import:          library-common
  exposed-modules: System.UnionMount
  hs-source-dirs:  src

test-suite test
  import:         library-common
  type:           exitcode-stdio-1.0
  hs-source-dirs: test
  main-is:        Spec.hs
  build-depends:
    , dir-traverse
    , hspec
    , monad-logger
    , monad-logger-extras
    , relude

  if flag(ghcid)
    hs-source-dirs: src

  else
    build-depends: unionmount
    other-modules: System.UnionMountSpec