packages feed

thyme-0.4: thyme.cabal

name:           thyme
version:        0.4
synopsis:       A faster time library
description:
    @thyme@ is a performance-optimized rewrite of the excellent
    @<http://hackage.haskell.org/package/time time>@ library.
    .
    See @<http://hackage.haskell.org/package/thyme/docs/Data-Thyme-Docs.html Data.Thyme.Docs>@
    for a full description.
homepage:       https://github.com/fumieval/thyme
license:        BSD3
license-file:   LICENSE
author:         Liyang HU, Ashley Yakeley
maintainer:     Fumiaki Kinoshita <fumiexcel@gmail.com>
copyright:      © 2013−2014 Liyang HU
category:       Data, System
build-type:     Simple
cabal-version:  >= 1.10
stability:      experimental
extra-source-files:
    CHANGELOG.md
    README.md
    include/thyme.h
tested-with:
    GHC >= 8.4 && < 9.6

source-repository head
    type:       git
    location:   https://github.com/fumieval/thyme

flag bug-for-bug
    description: bug-for-bug compatibility with time
    default: True
    manual: True

flag docs
    description: include extra packages for Data.Thyme.Docs; implies -flens
    default: False
    manual: True

flag HLint
    description: include HLint as a Cabal test-suite
    default: False
    manual: True

flag lens
    description: use the full lens package
    default: False
    manual: True

flag show-internal
    description: instance Show of internal representation
    default: False
    manual: True

library
    default-language: Haskell2010
    include-dirs: include
    hs-source-dirs: src
    if !(flag(lens) || flag(docs))
        hs-source-dirs: lens
    exposed-modules:
        Data.Thyme
        Data.Thyme.Docs
        Data.Thyme.Calendar
        Data.Thyme.Calendar.MonthDay
        Data.Thyme.Calendar.OrdinalDate
        Data.Thyme.Calendar.WeekDate
        Data.Thyme.Calendar.WeekdayOfMonth
        Data.Thyme.Clock
        Data.Thyme.Clock.POSIX
        Data.Thyme.Clock.TAI
        Data.Thyme.Format
        Data.Thyme.Format.Human
        Data.Thyme.Format.Aeson
        Data.Thyme.Internal.Micro
        Data.Thyme.LocalTime
        Data.Thyme.Time
        Data.Thyme.Time.Core
    other-modules:
        Data.Thyme.Calendar.Internal
        Data.Thyme.Clock.Internal
        Data.Thyme.Format.Internal
        Data.Thyme.TrueName
    if !(flag(lens) || flag(docs))
        other-modules: Control.Lens
    build-depends:
        QuickCheck >= 2.4,
        attoparsec >= 0.10,
        aeson >= 0.6,
        base >= 4.5 && < 5,
        bytestring >= 0.9,
        containers >= 0.5,
        deepseq >= 1.2,
        hashable >= 1.2,
        mtl >= 1.1,
        old-locale >= 1.0,
        random,
        text >= 0.11,
        template-haskell >= 2.7 && < 2.20,
        time >= 1.4,
        vector >= 0.9,
        vector-th-unbox >= 0.2.1.0,
        vector-space >= 0.8

    if os(windows)
        build-depends: Win32
    if os(darwin) || os(freebsd)
        build-tools: cpphs
        ghc-options: "-pgmP cpphs --cpp"
    if flag(lens) || flag(docs)
        build-depends: lens >= 3.9
    else
        build-depends: profunctors >= 3.1.2
    if flag(docs)
        build-depends: integer-gmp, ghc-prim
    ghc-options: -Wall
    if flag(bug-for-bug)
        cpp-options: -DBUG_FOR_BUG=1
    if flag(show-internal)
        cpp-options: -DSHOW_INTERNAL=1

test-suite sanity
    default-language: Haskell2010
    type: exitcode-stdio-1.0
    hs-source-dirs: tests
    if !flag(lens)
        hs-source-dirs: lens
    main-is: sanity.hs
    other-modules: Common
    if !flag(lens)
        other-modules: Control.Lens
    build-depends:
        QuickCheck,
        attoparsec,
        base,
        bytestring,
        old-locale,
        text,
        thyme,
        time,
        vector-space
    if flag(lens)
        build-depends: lens
    else
        build-depends: profunctors, mtl
    ghc-options: -Wall

test-suite rewrite
    default-language: Haskell2010
    type: exitcode-stdio-1.0
    hs-source-dirs: tests
    main-is: rewrite.hs
    build-depends:
        base,
        containers,
        random,
        thyme
    ghc-options: -Wall

test-suite hlint
    default-language: Haskell2010
    type: exitcode-stdio-1.0
    hs-source-dirs: tests
    main-is: hlint.hs
    ghc-options: -threaded -rtsopts -with-rtsopts=-N
    if flag(HLint)
        build-depends: base, hlint >= 1.9
    else
        buildable: False

benchmark bench
    default-language: Haskell2010
    type: exitcode-stdio-1.0
    hs-source-dirs: tests
    if !flag(lens)
        hs-source-dirs: lens
    main-is: bench.hs
    other-modules: Common
    if !flag(lens)
        other-modules: Control.Lens
    build-depends:
        QuickCheck,
        base,
        criterion,
        mtl,
        old-locale,
        random,
        thyme,
        time,
        vector,
        vector-space
    if flag(lens)
        build-depends: lens
    else
        build-depends: profunctors
    ghc-options: -Wall

-- vim: et sw=4 ts=4 sts=4: