basesystems-1.1.0.0: basesystems.cabal
cabal-version: 3.0
version: 1.1.0.0
name: basesystems
build-type: Simple
author: Zoey McBride
maintainer: zoeymcbride@mailbox.org
license: BSD-3-Clause
license-file: LICENSE.txt
category: Numeric, Data, Serialization
synopsis: Implements encoders/decoders for basesystems
description:
This package implements encoder and decoder methods for numeric basesystems
and provides definitions for common basesystems like base16, base58btc,
base64, and more.
extra-doc-files:
README.md
CHANGELOG.md
tested-with:
GHC == 9.6.7
source-repository head {
type: git
location: https://git.sr.ht/~z0/basesystems
}
-- | Sets flag for CI build toggle
flag CI {
Description: CI Build options
Default: False
Manual: True
}
common HaskellConfig {
hs-source-dirs: basesystems
default-extensions: StrictData
default-language: GHC2021
}
common Depends {
build-depends:
base >= 4.18 && < 5,
array ^>= 0.5,
bytestring >= 0.12 && < 0.13,
containers >= 0.7 && < 8,
text >=2.1 && < 2.2
}
common BuildUser {
import: Depends
ghc-options: -Wall -Wextra -Wno-unused-top-binds
}
common BuildCI {
import: Depends
ghc-options: -Wall -Wextra -Werror -Wno-unused-top-binds
}
library {
import: HaskellConfig
if flag(CI) { import: BuildCI }
else { import: BuildUser }
exposed-modules:
-- * BaseSystems for ShortByteStrings
Data.BaseSystem,
-- * BaseSystems for LazyByteStrings
Data.BaseSystem.Lazy,
-- * BaseSystems for Strict ByteStrings
Data.BaseSystem.Strict,
-- * Defines Alphabet type + instances
Data.BaseSystem.Alphabet,
-- * Data instances for working with strings of digits
Data.BaseSystem.DigitSystem,
-- * Interface for decoding strings of numbers into binary data.
Data.BaseSystem.DigitTranscoder,
-- * Interface for transcoding bitstreams
Data.BaseSystem.BinaryTranscoder,
-- * Provides utility functions
Data.BaseSystem.Internal,
}