1cabal-version:      1.12
2name:               time-compat
3version:            1.9.5
4x-revision:         1
5synopsis:           Compatibility package for time
6description:
7  This packages tries to compat as much of @time@ features as possible.
8  .
9  /TODO:/
10  .
11  * Difference type @ParseTime@ and @FormatTime@ instances are missing.
12  .
13  * Formatting varies depending on underlying @time@ version
14  .
15  * @dayFractionToTimeOfDay@ on extreme values
16
17category:           Time, Compatibility
18license:            BSD3
19license-file:       LICENSE
20maintainer:         Oleg Grenrus <oleg.grenrus@iki.fi>
21author:             Ashley Yakeley
22homepage:           https://github.com/haskellari/time-compat
23bug-reports:        https://github.com/haskellari/time-compat/issues
24build-type:         Simple
25extra-source-files: CHANGELOG.md
26tested-with:
27  GHC ==7.0.4
28   || ==7.2.2
29   || ==7.4.2
30   || ==7.6.3
31   || ==7.8.4
32   || ==7.10.3
33   || ==8.0.2
34   || ==8.2.2
35   || ==8.4.4
36   || ==8.6.5
37   || ==8.8.4
38   || ==8.10.3
39
40source-repository head
41  type:     git
42  location: https://github.com/haskellari/time-compat.git
43
44flag old-locale
45  description: If true, use old-locale, otherwise use time 1.5 or newer.
46  manual:      False
47  default:     False
48
49library
50  default-language: Haskell2010
51  hs-source-dirs:   src
52  other-extensions: CPP
53
54  if impl(ghc >=7.2)
55    default-extensions: Trustworthy
56
57  build-depends:
58      base          >=4.3     && <4.16
59    , base-orphans  >=0.8.1   && <0.9
60    , deepseq       >=1.3.0.0 && <1.4 || >=1.4.1.1 && <1.5
61    , time          >=1.2     && <1.3 || >=1.4 && <1.7 || >=1.8 && <1.9 || >=1.9.2 && <1.9.4 || >=1.10 && <1.10.1 || >=1.11 && <1.11.2
62
63  if flag(old-locale)
64    build-depends:
65        old-locale  >=1.0.0.2 && <1.1
66      , time        >=0       && <1.5
67
68  else
69    build-depends: time >=1.5
70
71  if !impl(ghc >=8.0)
72    build-depends:
73        fail        >=4.9.0.0 && <4.10
74      , semigroups  >=0.18.5  && <0.20
75
76  exposed-modules:
77    Data.Time.Calendar.Compat
78    Data.Time.Calendar.Easter.Compat
79    Data.Time.Calendar.Julian.Compat
80    Data.Time.Calendar.Month.Compat
81    Data.Time.Calendar.MonthDay.Compat
82    Data.Time.Calendar.OrdinalDate.Compat
83    Data.Time.Calendar.Quarter.Compat
84    Data.Time.Calendar.WeekDate.Compat
85    Data.Time.Clock.Compat
86    Data.Time.Clock.POSIX.Compat
87    Data.Time.Clock.System.Compat
88    Data.Time.Clock.TAI.Compat
89    Data.Time.Compat
90    Data.Time.Format.Compat
91    Data.Time.Format.ISO8601.Compat
92    Data.Time.LocalTime.Compat
93
94  other-modules:
95    Data.Format
96    Data.Time.Calendar.Private
97    Data.Time.Calendar.Types
98    Data.Time.Orphans
99
100test-suite instances
101  default-language: Haskell2010
102  type:             exitcode-stdio-1.0
103  hs-source-dirs:   test-instances
104  main-is:          Test.hs
105  build-depends:
106      base
107    , deepseq
108    , HUnit        >=1.3.1 && <1.3.2 || >=1.6.0.0 && <1.7
109    , time-compat
110
111-- This test-suite is from time library
112-- Changes:
113-- * imports: Data.Time -> Data.Time.Compat etc
114-- * disabled Test.Format.ParseTime
115-- * Test.Format.Format has also trees disabled
116-- * Test.Format.Compile doesn't work
117-- * disabled 'TimeOfDay minBound 0 0' (Test.LocalTime.Time)
118--
119test-suite main
120  if !impl(ghc >=7.4)
121    buildable: False
122
123  default-language:   Haskell2010
124  type:               exitcode-stdio-1.0
125  hs-source-dirs:     test/main
126  default-extensions:
127    CPP
128    DeriveDataTypeable
129    ExistentialQuantification
130    FlexibleInstances
131    MultiParamTypeClasses
132    Rank2Types
133    ScopedTypeVariables
134    StandaloneDeriving
135    TupleSections
136    UndecidableInstances
137
138  ghc-options:        -Wall -fwarn-tabs
139  build-depends:
140      base
141    , base-compat       >=0.10.5 && <0.12
142    , deepseq
143    , QuickCheck        >=2.13   && <2.15
144    , tagged            >=0.8.6  && <0.9
145    , tasty             >=1.2.1  && <1.5
146    , tasty-hunit       >=0.10   && <0.11
147    , tasty-quickcheck  >=0.10   && <0.11
148    , time-compat
149
150  if !impl(ghc >=8.0)
151    build-depends:
152        fail        >=4.9.0.0 && <4.10
153      , semigroups  >=0.18.5  && <0.20
154
155  build-depends:      time
156  main-is:            Main.hs
157  other-modules:
158    Test.Arbitrary
159    Test.Calendar.AddDays
160    Test.Calendar.AddDaysRef
161    Test.Calendar.CalendarProps
162    Test.Calendar.Calendars
163    Test.Calendar.CalendarsRef
164    Test.Calendar.ClipDates
165    Test.Calendar.ClipDatesRef
166    Test.Calendar.ConvertBack
167    Test.Calendar.Duration
168    Test.Calendar.Easter
169    Test.Calendar.EasterRef
170    Test.Calendar.LongWeekYears
171    Test.Calendar.LongWeekYearsRef
172    Test.Calendar.MonthDay
173    Test.Calendar.MonthDayRef
174    Test.Calendar.Valid
175    Test.Calendar.Week
176    Test.Clock.Conversion
177    Test.Clock.Resolution
178    Test.Clock.TAI
179    Test.Format.Compile
180    Test.Format.Format
181    Test.Format.ISO8601
182    Test.Format.ParseTime
183    Test.LocalTime.CalendarDiffTime
184    Test.LocalTime.Time
185    Test.LocalTime.TimeOfDay
186    Test.LocalTime.TimeRef
187    Test.TestUtil
188    Test.Types
189