cabal-version: 3.0 version: 1.0.1.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 CHANGE_LOG.md 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 } -- | Sets flag for developer build toggle flag Dev { Description: Developer build options Default: False Manual: True } -- | These dependency versions are known to be compatable with mfmts common Depends { build-depends: base >= 4.18 && < 5, array ^>= 0.5, bytestring >= 0.12, containers >= 0.7 && < 8, text >=2.1 && < 2.2 } -- | DefaultBuild: strict compilation + optimize for executable speed common DefaultBuild { import: Depends ghc-options: -Wall -Wextra -Wno-unused-top-binds } -- | CIBuild: strict compilation + optimize for compile time common CIBuild { import: Depends ghc-options: -Wall -Wextra -Werror -Wno-unused-top-binds } -- | Configures the Dev flag common DevBuild { import: Depends ghc-options: -Wall -Wextra -Wno-unused-top-binds } -- | Configures basesystems library { default-extensions: StrictData default-language: GHC2021 if flag(Dev) { import: DevBuild } elif flag(CI) { import: CIBuild } else { import: DefaultBuild } exposed-modules: -- * Defines basesystem interface Data.BaseSystem, -- * Defines basesystem implmentors Data.BaseSystems, -- * Defines alphabet interface Data.BaseSystem.Alphabet, -- * Defines alphabet implmentors Data.BaseSystem.Alphabets, -- * Provides common types and functions Data.BaseSystem.Internal, hs-source-dirs: basesystems }