hodatime-1.0.0.0: hodatime.cabal
cabal-version: 2.4
name: hodatime
version: 1.0.0.0
stability: experimental
license: BSD-3-Clause
license-file: LICENSE
build-type: Simple
author: Jason Johnson
maintainer: <jason.johnson.081@gmail.com>
homepage: https://github.com/jason-johnson/hodatime
bug-reports: https://github.com/jason-johnson/hodatime/issues
synopsis: A fully featured date/time library based on Nodatime
description:
HodaTime is a full-featured date and time library for Haskell, inspired by
Noda Time (and, in turn, Joda Time) and Erik Naggum's /The Long, Painful
History of Time/.
.
It draws a clear line between /physical time/ (instants, durations and
intervals on a global time line) and /civil time/ (calendar dates, local
times and the calendar-and-zone rules that connect the two), so the type you
are holding always tells you exactly what you can and cannot do with it.
.
Highlights:
.
* Multiple calendars (Gregorian, ISO, Julian, Coptic, Persian, Islamic and
Hebrew) with lossless conversion between them.
.
* Time zones sourced from the operating system (the IANA\/Olson database on
Unix, the registry on Windows), with explicit resolution of skipped and
ambiguous local times across DST transitions.
.
* A type-safe, composable pattern system for parsing and formatting that
derives a parser and a formatter together from a single field definition.
.
* Locale-aware formatting driven by the host system's locale data.
category: Data, Time
tested-with: GHC == 9.4.8 || == 9.6.7 || == 9.8.4 || == 9.10.3
extra-doc-files:
README.md
CHANGELOG.md
extra-source-files:
platform/osx/Data/HodaTime/TimeZone/Platform.hs
platform/osx/Data/HodaTime/Instant/Platform.hs
platform/linux/Data/HodaTime/TimeZone/Platform.hs
platform/linux/Data/HodaTime/Instant/Platform.hs
platform/windows/Data/HodaTime/TimeZone/Platform.hs
platform/windows/Data/HodaTime/Instant/Platform.hsc
platform/osx/Data/HodaTime/Locale/Platform.hs
platform/linux/Data/HodaTime/Locale/Platform.hs
platform/windows/Data/HodaTime/Locale/Platform.hsc
source-repository head
type: git
location: https://github.com/jason-johnson/hodatime
library
default-language:
Haskell2010
hs-source-dirs: src
if os(linux)
hs-source-dirs: platform/linux
if os(darwin)
hs-source-dirs: platform/osx
if os(windows)
hs-source-dirs: platform/windows
build-depends:
base >= 4.16 && < 4.21,
mtl < 2.4,
binary < 0.9,
bytestring < 0.13,
containers < 0.8,
deepseq >= 1.4 && < 1.6,
exceptions < 0.11,
fingertree >= 0.1.3 && < 0.2,
hashable >= 1.3 && < 1.6,
text >= 0.11.0.8 && < 2.2,
parsec < 3.2,
formatting < 7.3,
array < 0.6
if os(windows)
build-depends: Win32 < 2.15
extra-libraries: kernel32
if !os(windows)
build-depends: unix < 2.9,
filepath < 1.6,
directory < 1.4
ghc-options: -Wall
exposed-modules:
Data.HodaTime,
Data.HodaTime.Calendar.Coptic,
Data.HodaTime.Calendar.Gregorian,
Data.HodaTime.Calendar.Hebrew,
Data.HodaTime.Calendar.Islamic,
Data.HodaTime.Calendar.Iso,
Data.HodaTime.Calendar.Julian,
Data.HodaTime.Calendar.Persian,
Data.HodaTime.CalendarDate,
Data.HodaTime.CalendarDateTime,
Data.HodaTime.Duration,
Data.HodaTime.Instant,
Data.HodaTime.Interval,
Data.HodaTime.Offset,
Data.HodaTime.LocalTime,
Data.HodaTime.OffsetDateTime,
Data.HodaTime.TimeZone,
Data.HodaTime.ZonedDateTime,
Data.HodaTime.Locale,
Data.HodaTime.Pattern,
Data.HodaTime.Pattern.LocalTime,
Data.HodaTime.Pattern.CalendarDate,
Data.HodaTime.Pattern.CalendarDateTime,
Data.HodaTime.Pattern.Instant,
Data.HodaTime.Pattern.Offset,
Data.HodaTime.Pattern.OffsetDateTime,
Data.HodaTime.Pattern.Duration,
Data.HodaTime.Pattern.ZonedDateTime,
Data.HodaTime.Pattern.Locale,
Data.HodaTime.Exceptions
other-modules:
Data.HodaTime.Constants,
Data.HodaTime.Internal,
Data.HodaTime.Internal.Lens,
Data.HodaTime.Duration.Internal,
Data.HodaTime.LocalTime.Internal,
Data.HodaTime.Calendar.Internal,
Data.HodaTime.Calendar.Gregorian.Internal,
Data.HodaTime.Calendar.Gregorian.CacheTable,
Data.HodaTime.Calendar.Persian.Astronomical,
Data.HodaTime.CalendarDateTime.Internal,
Data.HodaTime.Instant.Internal,
Data.HodaTime.Instant.Platform,
Data.HodaTime.Offset.Internal,
Data.HodaTime.TimeZone.Internal,
Data.HodaTime.TimeZone.Platform,
Data.HodaTime.ZonedDateTime.Internal,
Data.HodaTime.Locale.Internal,
Data.HodaTime.Locale.Platform,
Data.HodaTime.Pattern.Internal,
Data.HodaTime.Pattern.ZonedDateTime.Internal,
Data.HodaTime.Pattern.ApplyParse
Data.HodaTime.Pattern.ParseTypes
if !os(windows)
other-modules:
Data.HodaTime.TimeZone.Olson,
Data.HodaTime.TimeZone.ParseTZ,
Data.HodaTime.TimeZone.Unix,
Data.HodaTime.Instant.Unix,
Data.HodaTime.Locale.Posix
test-suite test
default-language:
Haskell2010
type:
exitcode-stdio-1.0
hs-source-dirs:
tests
main-is:
test.hs
other-modules:
HodaTime.Util,
HodaTime.InstantTest,
HodaTime.LocalTimeTest,
HodaTime.DurationTest,
HodaTime.OffsetTest,
HodaTime.Calendar.GregorianTest,
HodaTime.Calendar.JulianTest,
HodaTime.Calendar.CopticTest,
HodaTime.Calendar.PersianTest,
HodaTime.Calendar.IslamicTest,
HodaTime.Calendar.HebrewTest,
HodaTime.CalendarDateTimeTest,
HodaTime.ZonedDateTimeTest,
HodaTime.PatternTest,
HodaTime.WithCalendarTest,
HodaTime.LocaleTest,
HodaTime.ClassInstanceTests
build-depends:
base >= 4 && < 5,
tasty >= 0.11,
tasty-smallcheck,
tasty-quickcheck,
tasty-hunit,
QuickCheck,
time,
bytestring,
exceptions,
deepseq,
hashable,
hodatime
test-suite doctests
default-language:
Haskell2010
type:
exitcode-stdio-1.0
hs-source-dirs:
doctest
main-is:
doctests.hs
build-depends:
base >= 4.16 && < 4.21,
doctest >= 0.16 && < 0.25,
mtl < 2.4,
binary < 0.9,
bytestring < 0.13,
containers < 0.8,
deepseq >= 1.4 && < 1.6,
exceptions < 0.11,
fingertree >= 0.1.3 && < 0.2,
hashable >= 1.3 && < 1.6,
text >= 0.11.0.8 && < 2.2,
parsec < 3.2,
formatting < 7.3,
array < 0.6
if os(windows)
build-depends: Win32 < 2.15
if !os(windows)
build-depends: unix < 2.9,
filepath < 1.6,
directory < 1.4
benchmark bench
default-language:
Haskell2010
type:
exitcode-stdio-1.0
hs-source-dirs:
bench
main-is:
bench.hs
other-modules:
HodaTime.OffsetBench,
HodaTime.CalendarBench,
HodaTime.InstantBench
build-depends:
base > 4,
criterion,
random,
hodatime
ghc-options:
-Wall