forked from pool/ghc-foundation
315 lines
12 KiB
Plaintext
315 lines
12 KiB
Plaintext
|
name: foundation
|
||
|
version: 0.0.25
|
||
|
x-revision: 1
|
||
|
synopsis: Alternative prelude with batteries and no dependencies
|
||
|
description:
|
||
|
A custom prelude with no dependencies apart from base.
|
||
|
.
|
||
|
This package has the following goals:
|
||
|
.
|
||
|
* provide a base like sets of modules that provide a consistent set of features and bugfixes across multiple versions of GHC (unlike base).
|
||
|
.
|
||
|
* provide a better and more efficient prelude than base's prelude.
|
||
|
.
|
||
|
* be self-sufficient: no external dependencies apart from base.
|
||
|
.
|
||
|
* provide better data-types: packed unicode string by default, arrays.
|
||
|
.
|
||
|
* Better numerical classes that better represent mathematical thing (No more all-in-one Num).
|
||
|
.
|
||
|
* Better I/O system with less Lazy IO
|
||
|
.
|
||
|
* Usual partial functions distinguished through type system
|
||
|
license: BSD3
|
||
|
license-file: LICENSE
|
||
|
copyright: 2015-2017 Vincent Hanquez <vincent@snarc.org>, 2017- Foundation Maintainers
|
||
|
author: Vincent Hanquez <vincent@snarc.org>
|
||
|
maintainer: vincent@snarc.org
|
||
|
category: foundation
|
||
|
build-type: Simple
|
||
|
homepage: https://github.com/haskell-foundation/foundation
|
||
|
bug-reports: https://github.com/haskell-foundation/foundation/issues
|
||
|
cabal-version: 1.18
|
||
|
extra-source-files: cbits/*.h
|
||
|
|
||
|
source-repository head
|
||
|
type: git
|
||
|
location: https://github.com/haskell-foundation/foundation
|
||
|
subdir: foundation
|
||
|
|
||
|
flag experimental
|
||
|
description: Enable building experimental features, known as highly unstable or without good support cross-platform
|
||
|
default: False
|
||
|
manual: True
|
||
|
|
||
|
flag bench-all
|
||
|
description: Add some comparaison benchmarks against other haskell libraries
|
||
|
default: False
|
||
|
manual: True
|
||
|
|
||
|
flag minimal-deps
|
||
|
description: Build fully with minimal deps (no criterion, no quickcheck, no doctest)
|
||
|
default: False
|
||
|
manual: True
|
||
|
|
||
|
flag bounds-check
|
||
|
description: Add extra friendly boundary check for unsafe array operations
|
||
|
default: False
|
||
|
manual: True
|
||
|
|
||
|
flag doctest
|
||
|
description: Build doctest on demand only
|
||
|
default: False
|
||
|
manual: True
|
||
|
|
||
|
flag linktest
|
||
|
description: Run linking test
|
||
|
default: False
|
||
|
manual: True
|
||
|
|
||
|
library
|
||
|
exposed-modules: Foundation
|
||
|
Foundation.Numerical
|
||
|
Foundation.Array
|
||
|
Foundation.Array.Internal
|
||
|
Foundation.Bits
|
||
|
Foundation.Class.Bifunctor
|
||
|
Foundation.Class.Storable
|
||
|
Foundation.Conduit
|
||
|
Foundation.Conduit.Textual
|
||
|
Foundation.Exception
|
||
|
Foundation.Format.CSV
|
||
|
Foundation.String
|
||
|
Foundation.String.Read
|
||
|
Foundation.String.Builder
|
||
|
Foundation.IO
|
||
|
Foundation.IO.FileMap
|
||
|
Foundation.IO.Terminal
|
||
|
Foundation.VFS
|
||
|
Foundation.VFS.Path
|
||
|
Foundation.VFS.FilePath
|
||
|
Foundation.VFS.URI
|
||
|
Foundation.Math.Trigonometry
|
||
|
Foundation.Hashing
|
||
|
Foundation.Foreign
|
||
|
Foundation.Collection
|
||
|
Foundation.Primitive
|
||
|
Foundation.List.DList
|
||
|
Foundation.List.ListN
|
||
|
Foundation.Monad
|
||
|
Foundation.Monad.Except
|
||
|
Foundation.Monad.Reader
|
||
|
Foundation.Monad.State
|
||
|
Foundation.Network.IPv4
|
||
|
Foundation.Network.IPv6
|
||
|
Foundation.System.Info
|
||
|
Foundation.Strict
|
||
|
Foundation.Parser
|
||
|
Foundation.Random
|
||
|
Foundation.Check
|
||
|
Foundation.Check.Main
|
||
|
Foundation.Timing
|
||
|
Foundation.Timing.Main
|
||
|
Foundation.Time.Types
|
||
|
Foundation.Time.Bindings
|
||
|
Foundation.Time.StopWatch
|
||
|
Foundation.Tuple.Nth
|
||
|
Foundation.UUID
|
||
|
Foundation.System.Entropy
|
||
|
Foundation.System.Bindings
|
||
|
other-modules:
|
||
|
Foundation.Tuple
|
||
|
Foundation.Hashing.FNV
|
||
|
Foundation.Hashing.SipHash
|
||
|
Foundation.Hashing.Hasher
|
||
|
Foundation.Hashing.Hashable
|
||
|
Foundation.Check.Gen
|
||
|
Foundation.Check.Print
|
||
|
Foundation.Check.Arbitrary
|
||
|
Foundation.Check.Property
|
||
|
Foundation.Check.Config
|
||
|
Foundation.Check.Types
|
||
|
Foundation.Collection.Buildable
|
||
|
Foundation.Collection.List
|
||
|
Foundation.Collection.Element
|
||
|
Foundation.Collection.InnerFunctor
|
||
|
Foundation.Collection.Collection
|
||
|
Foundation.Collection.Copy
|
||
|
Foundation.Collection.Sequential
|
||
|
Foundation.Collection.Keyed
|
||
|
Foundation.Collection.Indexed
|
||
|
Foundation.Collection.Foldable
|
||
|
Foundation.Collection.Mutable
|
||
|
Foundation.Collection.Zippable
|
||
|
Foundation.Collection.Mappable
|
||
|
Foundation.Conduit.Internal
|
||
|
Foundation.Format.CSV.Types
|
||
|
Foundation.Format.CSV.Builder
|
||
|
Foundation.Format.CSV.Parser
|
||
|
Foundation.Numerical.Floating
|
||
|
Foundation.IO.File
|
||
|
Foundation.Monad.MonadIO
|
||
|
Foundation.Monad.Exception
|
||
|
Foundation.Monad.Transformer
|
||
|
Foundation.Monad.Identity
|
||
|
Foundation.Monad.Base
|
||
|
Foundation.Random.Class
|
||
|
Foundation.Random.DRG
|
||
|
Foundation.Random.ChaChaDRG
|
||
|
Foundation.Random.XorShift
|
||
|
Foundation.Array.Chunked.Unboxed
|
||
|
Foundation.Array.Bitmap
|
||
|
Foundation.Foreign.Alloc
|
||
|
Foundation.Foreign.MemoryMap
|
||
|
Foundation.Foreign.MemoryMap.Types
|
||
|
Foundation.Partial
|
||
|
-- Foundation.Time.Bindings
|
||
|
Foundation.System.Entropy.Common
|
||
|
Foundation.System.Bindings.Network
|
||
|
Foundation.System.Bindings.Time
|
||
|
Foundation.System.Bindings.Hs
|
||
|
|
||
|
include-dirs: cbits
|
||
|
c-sources: cbits/foundation_random.c
|
||
|
cbits/foundation_network.c
|
||
|
cbits/foundation_time.c
|
||
|
cbits/foundation_utf8.c
|
||
|
|
||
|
if flag(experimental)
|
||
|
exposed-modules: Foundation.Network.HostName
|
||
|
if os(windows)
|
||
|
exposed-modules: Foundation.System.Bindings.Windows
|
||
|
other-modules: Foundation.Foreign.MemoryMap.Windows
|
||
|
Foundation.System.Entropy.Windows
|
||
|
else
|
||
|
exposed-modules: Foundation.System.Bindings.Posix
|
||
|
Foundation.System.Bindings.PosixDef
|
||
|
other-modules: Foundation.Foreign.MemoryMap.Posix
|
||
|
Foundation.System.Entropy.Unix
|
||
|
if os(linux)
|
||
|
exposed-modules: Foundation.System.Bindings.Linux
|
||
|
if os(osx)
|
||
|
exposed-modules: Foundation.System.Bindings.Macos
|
||
|
|
||
|
default-extensions: NoImplicitPrelude
|
||
|
RebindableSyntax
|
||
|
TypeFamilies
|
||
|
BangPatterns
|
||
|
DeriveDataTypeable
|
||
|
|
||
|
build-depends: base >= 4.9 && <5
|
||
|
if impl(ghc < 8.0) || impl(ghcjs)
|
||
|
build-depends: base
|
||
|
else
|
||
|
build-depends: base
|
||
|
, ghc-prim
|
||
|
if os(windows)
|
||
|
build-depends: Win32
|
||
|
if arch(i386)
|
||
|
extra-libraries: gcc
|
||
|
|
||
|
build-depends: basement == 0.0.11
|
||
|
|
||
|
-- FIXME add suport for armel mipsel
|
||
|
-- CPP-options: -DARCH_IS_LITTLE_ENDIAN
|
||
|
-- FIXME add support for powerpc powerpc64 armeb mipseb
|
||
|
-- CPP-options: -DARCH_IS_BIG_ENDIAN
|
||
|
if (arch(i386) || arch(x86_64))
|
||
|
cpp-options: -DARCH_IS_LITTLE_ENDIAN
|
||
|
else
|
||
|
cpp-options: -DARCH_IS_UNKNOWN_ENDIAN
|
||
|
ghc-options: -Wall -fwarn-tabs
|
||
|
default-language: Haskell2010
|
||
|
if impl(ghc >= 8.0)
|
||
|
ghc-options: -Wno-redundant-constraints
|
||
|
if flag(bounds-check)
|
||
|
cpp-options: -DFOUNDATION_BOUNDS_CHECK
|
||
|
|
||
|
test-suite check-foundation
|
||
|
type: exitcode-stdio-1.0
|
||
|
hs-source-dirs: tests
|
||
|
main-is: Checks.hs
|
||
|
other-modules: Test.Checks.Property.Collection
|
||
|
Test.Foundation.Random
|
||
|
Test.Foundation.Misc
|
||
|
Test.Foundation.Conduit
|
||
|
Test.Foundation.Primitive.BlockN
|
||
|
Test.Foundation.Storable
|
||
|
Test.Foundation.Number
|
||
|
Test.Foundation.String.Base64
|
||
|
Test.Foundation.String
|
||
|
Test.Foundation.Bits
|
||
|
Test.Basement
|
||
|
Test.Basement.UTF8
|
||
|
Test.Data.Network
|
||
|
Test.Data.List
|
||
|
Test.Foundation.Network.IPv4
|
||
|
Test.Foundation.Network.IPv6
|
||
|
Test.Foundation.Format
|
||
|
Test.Foundation.Format.CSV
|
||
|
default-extensions: NoImplicitPrelude
|
||
|
RebindableSyntax
|
||
|
OverloadedStrings
|
||
|
build-depends: base > 0 && < 1000
|
||
|
, basement
|
||
|
, foundation
|
||
|
ghc-options: -Wall -fno-warn-orphans -fno-warn-missing-signatures
|
||
|
default-language: Haskell2010
|
||
|
if impl(ghc >= 8.0)
|
||
|
ghc-options: -Wno-redundant-constraints
|
||
|
|
||
|
test-suite foundation-link
|
||
|
type: exitcode-stdio-1.0
|
||
|
hs-source-dirs: tests
|
||
|
default-language: Haskell2010
|
||
|
main-is: Scripts/Link.hs
|
||
|
default-extensions: NoImplicitPrelude
|
||
|
RebindableSyntax
|
||
|
if flag(linktest)
|
||
|
build-depends: base > 0 && < 1000
|
||
|
, foundation
|
||
|
, template-haskell
|
||
|
buildable: True
|
||
|
else
|
||
|
buildable: False
|
||
|
|
||
|
test-suite doctest
|
||
|
type: exitcode-stdio-1.0
|
||
|
hs-source-dirs: tests
|
||
|
default-language: Haskell2010
|
||
|
main-is: DocTest.hs
|
||
|
default-extensions: NoImplicitPrelude
|
||
|
RebindableSyntax
|
||
|
if flag(minimal-deps)
|
||
|
-- TODO: for no, force unbuildable anyway
|
||
|
buildable: False
|
||
|
else
|
||
|
if flag(doctest)
|
||
|
build-depends: base
|
||
|
, doctest >= 0.9
|
||
|
buildable: True
|
||
|
else
|
||
|
buildable: False
|
||
|
|
||
|
Benchmark bench
|
||
|
main-is: Main.hs
|
||
|
other-modules: BenchUtil.Common
|
||
|
BenchUtil.RefData
|
||
|
Sys
|
||
|
LargeWords
|
||
|
Fake.ByteString
|
||
|
Fake.Text
|
||
|
Fake.Vector
|
||
|
hs-source-dirs: benchs
|
||
|
default-language: Haskell2010
|
||
|
type: exitcode-stdio-1.0
|
||
|
default-extensions: NoImplicitPrelude
|
||
|
BangPatterns
|
||
|
if flag(minimal-deps) || impl(ghc < 7.10)
|
||
|
buildable: False
|
||
|
else
|
||
|
build-depends: base, gauge, basement, foundation
|
||
|
if flag(bench-all)
|
||
|
cpp-options: -DBENCH_ALL
|
||
|
build-depends: text, attoparsec, vector, bytestring
|