summaryrefslogtreecommitdiff
path: root/time-compat.cabal
blob: 4c9940b78644cf885f7e550a8205c5d762f3847f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
cabal-version:      1.12
name:               time-compat
version:            1.9.6.1
x-revision:         5
synopsis:           Compatibility package for time
description:
  This packages tries to compat as much of @time@ features as possible.
  .
  /TODO:/
  .
  * Difference type @ParseTime@ and @FormatTime@ instances are missing.
  .
  * Formatting varies depending on underlying @time@ version
  .
  * @dayFractionToTimeOfDay@ on extreme values

category:           Time, Compatibility
license:            BSD3
license-file:       LICENSE
maintainer:         Oleg Grenrus <oleg.grenrus@iki.fi>
author:             Ashley Yakeley
homepage:           https://github.com/haskellari/time-compat
bug-reports:        https://github.com/haskellari/time-compat/issues
build-type:         Simple
extra-source-files: CHANGELOG.md
tested-with:
  GHC ==7.4.2
   || ==7.6.3
   || ==7.8.4
   || ==7.10.3
   || ==8.0.2
   || ==8.2.2
   || ==8.4.4
   || ==8.6.5
   || ==8.8.4
   || ==8.10.7
   || ==9.0.2
   || ==9.2.7
   || ==9.4.4
   || ==9.6.1

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

flag old-locale
  description: If true, use old-locale, otherwise use time 1.5 or newer.
  manual:      False
  default:     False

library
  default-language: Haskell2010
  hs-source-dirs:   src
  other-extensions: CPP

  if impl(ghc >=7.2)
    default-extensions: Trustworthy

  build-depends:
      base          >=4.5     && <4.19
    , base-orphans  >=0.8.4   && <0.10
    , deepseq       >=1.3.0.0 && <1.4 || >=1.4.1.1 && <1.5
    , time          >=1.4     && <1.7 || >=1.8 && <1.9 || >=1.9.2 && <1.9.4 || >=1.10 && <1.10.1 || >=1.11 && <1.11.2 || >=1.12 && <1.13
    , hashable      >=1.3.2.0 && <1.5

  if flag(old-locale)
    build-depends:
        old-locale  >=1.0.0.2 && <1.1
      , time        >=1.4     && <1.5

  else
    build-depends: time >=1.5

  if !impl(ghc >=8.0)
    build-depends:
        fail        >=4.9.0.0 && <4.10
      , semigroups  >=0.18.5  && <0.21

  exposed-modules:
    Data.Time.Calendar.Compat
    Data.Time.Calendar.Easter.Compat
    Data.Time.Calendar.Julian.Compat
    Data.Time.Calendar.Month.Compat
    Data.Time.Calendar.MonthDay.Compat
    Data.Time.Calendar.OrdinalDate.Compat
    Data.Time.Calendar.Quarter.Compat
    Data.Time.Calendar.WeekDate.Compat
    Data.Time.Clock.Compat
    Data.Time.Clock.POSIX.Compat
    Data.Time.Clock.System.Compat
    Data.Time.Clock.TAI.Compat
    Data.Time.Compat
    Data.Time.Format.Compat
    Data.Time.Format.ISO8601.Compat
    Data.Time.LocalTime.Compat

  other-modules:
    Data.Format
    Data.Time.Calendar.Private
    Data.Time.Calendar.Types
    Data.Time.Orphans

test-suite instances
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test-instances
  main-is:          Test.hs
  build-depends:
      base
    , deepseq
    , HUnit        >=1.3.1 && <1.3.2 || >=1.6.0.0 && <1.7
    , hashable     >=1.3.1.0 && <1.5
    , time-compat

-- This test-suite is from time library
-- Changes:
-- * imports: Data.Time -> Data.Time.Compat etc
-- * disabled Test.Format.ParseTime
-- * Test.Format.Format has also trees disabled
-- * Test.Format.Compile doesn't work
-- * disabled 'TimeOfDay minBound 0 0' (Test.LocalTime.Time)
--
test-suite main
  if !impl(ghc >=7.4)
    buildable: False

  default-language:   Haskell2010
  type:               exitcode-stdio-1.0
  hs-source-dirs:     test/main
  default-extensions:
    CPP
    DeriveDataTypeable
    ExistentialQuantification
    FlexibleInstances
    MultiParamTypeClasses
    Rank2Types
    ScopedTypeVariables
    StandaloneDeriving
    TupleSections
    UndecidableInstances

  ghc-options:        -Wall -fwarn-tabs
  build-depends:
      base
    , base-compat       >=0.10.5 && <0.14
    , deepseq
    , QuickCheck        >=2.13   && <2.15
    , tagged            >=0.8.6  && <0.9
    , tasty             >=1.2.1  && <1.5
    , tasty-hunit       >=0.10   && <0.11
    , tasty-quickcheck  >=0.10   && <0.11
    , time-compat

  if !impl(ghc >=8.0)
    build-depends:
        fail        >=4.9.0.0 && <4.10
      , semigroups  >=0.18.5  && <0.21

  build-depends:      time
  main-is:            Main.hs
  other-modules:
    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.ISO8601
    Test.Format.ParseTime
    Test.LocalTime.CalendarDiffTime
    Test.LocalTime.Time
    Test.LocalTime.TimeOfDay
    Test.LocalTime.TimeRef
    Test.TestUtil
    Test.Types