ghc-foundation/foundation-0.0.25.cabal
Petr Šabata a5ffdf84cd RHEL 9.0.0 Alpha bootstrap
The content of this branch was automatically imported from Fedora ELN
with the following as its source:
https://src.fedoraproject.org/rpms/ghc-foundation#bbe18d451f98ee7ac6c804db93a7ce0a9a94fa18
2020-10-15 01:09:44 +02:00

315 lines
11 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