name:           time
version:        1.11.1.1
stability:      stable
license:        BSD3
license-file:   LICENSE
author:         Ashley Yakeley
maintainer:     <ashley@semantic.org>
homepage:       https://github.com/haskell/time
bug-reports:    https://github.com/haskell/time/issues
synopsis:       A time library
description:    Time, clocks and calendars
category:       Time
build-type:     Configure
cabal-version:  >=1.10
tested-with:
    GHC == 8.0.2,
    GHC == 8.2.2,
    GHC == 8.4.4,
    GHC == 8.6.5,
    GHC == 8.8.4,
    GHC == 8.10.2
x-follows-version-policy:

extra-source-files:
    changelog.md
    aclocal.m4
    configure.ac
    configure
    lib/include/HsTime.h
    lib/include/HsTimeConfig.h.in
    test/unix/Test/Format/*.c
    test/unix/Test/Format/*.h
extra-tmp-files:
    config.log
    config.status
    autom4te.cache
    lib/include/HsTimeConfig.h

source-repository head
    type:     git
    location: https://github.com/haskell/time

library
    hs-source-dirs: lib
    default-language: Haskell2010
    default-extensions:
        Rank2Types
        DeriveDataTypeable
        StandaloneDeriving
        PatternSynonyms
        ViewPatterns
        CPP
    ghc-options: -Wall -fwarn-tabs
    c-sources: lib/cbits/HsTime.c
    build-depends:
        base >= 4.9 && < 5,
        deepseq >= 1.1
    if os(windows)
        build-depends: Win32
    exposed-modules:
        Data.Time.Calendar,
        Data.Time.Calendar.MonthDay,
        Data.Time.Calendar.OrdinalDate,
        Data.Time.Calendar.WeekDate,
        Data.Time.Calendar.Julian,
        Data.Time.Calendar.Easter,
        Data.Time.Calendar.Month,
        Data.Time.Calendar.Quarter,
        Data.Time.Clock,
        Data.Time.Clock.System,
        Data.Time.Clock.POSIX,
        Data.Time.Clock.TAI,
        Data.Time.LocalTime,
        Data.Time.Format,
        Data.Time.Format.Internal,
        Data.Time.Format.ISO8601,
        Data.Time
    other-modules:
        Data.Format
        Data.Time.Calendar.Types,
        Data.Time.Calendar.Private,
        Data.Time.Calendar.Days,
        Data.Time.Calendar.Gregorian,
        Data.Time.Calendar.CalendarDiffDays,
        Data.Time.Calendar.Week,
        Data.Time.Calendar.JulianYearDay,
        Data.Time.Clock.Internal.DiffTime,
        Data.Time.Clock.Internal.AbsoluteTime,
        Data.Time.Clock.Internal.NominalDiffTime,
        Data.Time.Clock.Internal.POSIXTime,
        Data.Time.Clock.Internal.UniversalTime,
        Data.Time.Clock.Internal.SystemTime,
        Data.Time.Clock.Internal.UTCTime,
        Data.Time.Clock.Internal.CTimeval,
        Data.Time.Clock.Internal.CTimespec,
        Data.Time.Clock.Internal.UTCDiff,
        Data.Time.LocalTime.Internal.TimeZone,
        Data.Time.LocalTime.Internal.TimeOfDay,
        Data.Time.LocalTime.Internal.CalendarDiffTime
        Data.Time.LocalTime.Internal.LocalTime,
        Data.Time.LocalTime.Internal.ZonedTime,
        Data.Time.Format.Parse,
        Data.Time.Format.Locale,
        Data.Time.Format.Format.Class,
        Data.Time.Format.Format.Instances,
        Data.Time.Format.Parse.Class,
        Data.Time.Format.Parse.Instances
    include-dirs: lib/include
    if os(windows)
        install-includes:
            HsTime.h
    else
        install-includes:
            HsTime.h
            HsTimeConfig.h

test-suite ShowDefaultTZAbbreviations
    type: exitcode-stdio-1.0
    hs-source-dirs: test
    default-language: Haskell2010
    ghc-options: -Wall -fwarn-tabs
    build-depends:
        base,
        time
    main-is: ShowDefaultTZAbbreviations.hs

test-suite test-main
    type: exitcode-stdio-1.0
    hs-source-dirs: test/main
    default-language: Haskell2010
    default-extensions:
        Rank2Types
        CPP
        DeriveDataTypeable
        StandaloneDeriving
        ExistentialQuantification
        MultiParamTypeClasses
        FlexibleInstances
        UndecidableInstances
        ScopedTypeVariables
        TupleSections
    ghc-options: -Wall -fwarn-tabs
    build-depends:
        base,
        deepseq,
        time,
        QuickCheck,
        tasty,
        tasty-hunit,
        tasty-quickcheck
    main-is: Main.hs
    other-modules:
        Test.Types
        Test.TestUtil
        Test.Arbitrary
        Test.Calendar.AddDays
        Test.Calendar.AddDaysRef
        Test.Calendar.CalendarProps
        Test.Calendar.Calendars
        Test.Calendar.CalendarsRef
        Test.Calendar.ClipDates
        Test.Calendar.ClipDatesRef
        Test.Calendar.ConvertBack
        Test.Calendar.Duration
        Test.Calendar.Easter
        Test.Calendar.EasterRef
        Test.Calendar.LongWeekYears
        Test.Calendar.LongWeekYearsRef
        Test.Calendar.MonthDay
        Test.Calendar.MonthDayRef
        Test.Calendar.Valid
        Test.Calendar.Week
        Test.Clock.Conversion
        Test.Clock.Resolution
        Test.Clock.TAI
        Test.Format.Compile
        Test.Format.Format
        Test.Format.ParseTime
        Test.Format.ISO8601
        Test.LocalTime.CalendarDiffTime
        Test.LocalTime.Time
        Test.LocalTime.TimeOfDay
        Test.LocalTime.TimeRef

test-suite test-unix
    if os(windows)
        buildable: False
    type: exitcode-stdio-1.0
    hs-source-dirs: test/unix
    default-language: Haskell2010
    default-extensions:
        Rank2Types
        CPP
        DeriveDataTypeable
        StandaloneDeriving
        ExistentialQuantification
        MultiParamTypeClasses
        FlexibleInstances
        UndecidableInstances
        ScopedTypeVariables
    ghc-options: -Wall -fwarn-tabs
    c-sources: test/unix/Test/Format/FormatStuff.c
    build-depends:
        base,
        deepseq,
        time,
        random,
        QuickCheck,
        tasty,
        tasty-hunit,
        tasty-quickcheck
    if !os(windows)
        build-depends: unix
    main-is: Main.hs
    other-modules:
        Test.TestUtil
        Test.Format.Format
        Test.LocalTime.TimeZone

benchmark time-bench
    type: exitcode-stdio-1.0
    hs-source-dirs: benchmark
    default-language: Haskell2010
    ghc-options: -Wall -fwarn-tabs
    build-depends:
        base,
        deepseq,
        time,
        criterion
    main-is: Main.hs
