packages feed

pact-time-0.2.0.0: pact-time.cabal

cabal-version: 2.4
name: pact-time
version: 0.2.0.0
synopsis: Time Library for Pact
Description:
    A minimal time library for usage with the [Pact Smart Contract
    Language](https://github.com/kadena-io/pact/).
    .
    The focus of this library is on minimality, performance, and binary level
    stability. Time is represented as 64-bit integral value that counts nominal
    micro-seconds since the modified Julian date epoch (MJD). The implementation
    ignores leap seconds.
    .
    While the library can parse date-time values with time zones, internally all
    date-times are represented as UTC and formatting only supports UTC. Only the
    default English language locale is supported.
    .
    Details about supported formats can be found in the [Pact Language
    Reference](https://pact-language.readthedocs.io/en/stable/pact-reference.html#time-formats).

homepage: https://github.com/kadena-io/pact-time
bug-reports: https://github.com/kadena-io/pact-time/issues
license: BSD-3-Clause
license-file: LICENSE
author: Lars Kuhtz
maintainer: lakuhtz@gmail.com
copyright: Copyright (c) 2021 Kadena LLC.
category: Data, System
tested-with:
    GHC==9.0.1
    GHC==8.10.4
    GHC==8.8.4
    GHC==8.6.5
extra-source-files:
    README.md
    CHANGELOG.md

source-repository head
    type: git
    location: https://github.com/kadena-io/pact-time.git

flag with-time
    description: Use the time package for parsing and formatting
    manual: True
    default: False

library
    hs-source-dirs: src
    default-language: Haskell2010
    ghc-options:
        -Wall
    exposed-modules:
        Pact.Time
        Pact.Time.Internal
        Pact.Time.Format
        Pact.Time.System
    build-depends:
        -- external
        , Decimal >=0.4
        , aeson >=0.11
        , attoparsec >= 0.13
        , base >=4.11 && <4.16
        , bytestring >=0.10
        , cereal >=0.5
        , deepseq >=1.4
        , microlens >=0.4
        , text >=1.2
        , vector >=0.12
        , vector-space >=0.10

  if flag(with-time)
    cpp-options: -DWITH_TIME=1
    other-modules: Pact.Time.Format.External
    build-depends: time >= 1.8
  else
    cpp-options: -DWITH_TIME=0
    other-modules:
        Pact.Time.Format.Internal
        Pact.Time.Format.Locale
    build-depends:
        , clock >= 0.7.2
        , mtl >=2.2

test-suite tests
    type: exitcode-stdio-1.0
    hs-source-dirs: test
    default-language: Haskell2010
    ghc-options:
        -Wall
        -rtsopts
        -threaded
        -with-rtsopts=-N
    main-is: Main.hs
    other-modules:
        Test.Pact.Time.Format
    build-depends:
        pact-time

        , base >=4.11 && <4.16
        , tasty >=1.4
        , tasty-hunit >=0.10