Skip to content
Snippets Groups Projects
quasar.cabal 2.76 KiB
Newer Older
cabal-version: 3.0

name:           quasar
version:        0.1.0.0
license:        BSD-2-Clause
build-type:     Simple
extra-source-files:
    README.md

--source-repository head
--  type: git
--  location: https://git.c3pb.de/jens/quasar.git

common shared-properties
  default-extensions:
    AllowAmbiguousTypes
    BangPatterns
    BlockArguments
Jens Nolte's avatar
Jens Nolte committed
    ConstraintKinds
    DataKinds
    DefaultSignatures
    DeriveAnyClass
    DeriveGeneric
    DerivingStrategies
    DisambiguateRecordFields
    DuplicateRecordFields
    ExistentialQuantification
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GADTs
    GeneralizedNewtypeDeriving
    ImportQualifiedPost
    InstanceSigs
    LambdaCase
    -- Enable once 9.0.1 is required
    --LexicalNegation
    MultiParamTypeClasses
    NamedFieldPuns
    NoImplicitPrelude
    OverloadedStrings
Jens Nolte's avatar
Jens Nolte committed
    PolyKinds
    RankNTypes
    ScopedTypeVariables
    StandaloneDeriving
    TemplateHaskell
    TupleSections
    TypeApplications
    TypeFamilies
    TypeOperators
    ViewPatterns
  default-language: Haskell2010
  ghc-options:
    -Weverything
    -Wno-all-missed-specialisations
    -Wno-missing-safe-haskell-mode
    -Wno-missing-import-lists
    -Wno-unsafe
    -Werror=incomplete-patterns
Jens Nolte's avatar
Jens Nolte committed
    -Werror=missing-fields
    -Werror=missing-methods

common shared-executable-properties
  import: shared-properties
  ghc-options:
    -threaded
    -rtsopts
    "-with-rtsopts=-N -I0"

library
  import: shared-properties
  build-depends:
    base >=4.7 && <5,
    binary,
Jens Nolte's avatar
Jens Nolte committed
    containers,
    exceptions,
    ghc-prim,
    hashable,
Jens Nolte's avatar
Jens Nolte committed
    heaps,
Jens Nolte's avatar
Jens Nolte committed
    time,
    transformers,
    unordered-containers,
  exposed-modules:
    Quasar.Async.Fork
Jens Nolte's avatar
Jens Nolte committed
    Quasar.Async.STMHelper
    Quasar.Async
    Quasar.Awaitable
    Quasar.Exceptions.ExceptionChannel
    Quasar.Monad
    Quasar.Observable
    Quasar.Observable.Delta
    Quasar.Observable.ObservableHashMap
    Quasar.Observable.ObservablePriority
Jens Nolte's avatar
Jens Nolte committed
    Quasar.Prelude
    Quasar.PreludeExtras
Jens Nolte's avatar
Jens Nolte committed
    Quasar.Timer
    Quasar.Timer.PosixTimer
Jens Nolte's avatar
Jens Nolte committed
    Quasar.Timer.TimerFd
    Quasar.Utils.Exceptions
Jens Nolte's avatar
Jens Nolte committed
    Quasar.Utils.ExtraT
    Quasar.Utils.TOnce
  other-modules:
    Quasar.Resources.Disposer
  hs-source-dirs:
    src

test-suite quasar-test
  import: shared-executable-properties
  type: exitcode-stdio-1.0
  build-depends:
    base >=4.7 && <5,
    exceptions,
    stm,
    unordered-containers,
  main-is: Spec.hs
  other-modules:
    Quasar.AsyncSpec
    Quasar.AwaitableSpec
    Quasar.ObservableSpec
    Quasar.Observable.ObservableHashMapSpec
    Quasar.Observable.ObservablePrioritySpec
    Quasar.ResourcesSpec
  hs-source-dirs:
    test