packages feed

signet-0.2025.5.5: signet.cabal

cabal-version: 3.0
name: signet
version: 0.2025.5.5
synopsis: Standard Webhooks
description:
  Signet is a Haskell library for working with Standard Webhooks.

category: Web
license: 0BSD
license-file: LICENSE.txt
maintainer: Mercury Technologies, Inc.
extra-doc-files:
  CHANGELOG.md
  README.md

source-repository head
  location: https://github.com/MercuryTechnologies/signet
  type: git

flag pedantic
  default: False
  manual: True

common library
  build-depends: base ^>=4.19 || ^>=4.20 || ^>=4.21
  default-language: Haskell2010
  ghc-options:
    -Weverything
    -Wno-all-missed-specialisations
    -Wno-implicit-prelude
    -Wno-missed-specialisations
    -Wno-missing-deriving-strategies
    -Wno-missing-export-lists
    -Wno-missing-kind-signatures
    -Wno-missing-safe-haskell-mode
    -Wno-prepositive-qualified-module
    -Wno-safe
    -Wno-unsafe

  if flag(pedantic)
    ghc-options: -Werror

common executable
  import: library
  ghc-options:
    -rtsopts
    -threaded

common dependencies
  build-depends:
    bytestring ^>=0.12,
    case-insensitive ^>=1.2.1.0,
    crypton ^>=0.34 || ^>=1.0.4,
    exceptions ^>=0.10.7,
    memory ^>=0.18.0,
    time ^>=1.12.2,

library unstable
  import: library, dependencies
  build-depends:
    http-types ^>=0.12.4,
    text ^>=2.0 || ^>=2.1,

  -- cabal-gild: discover source/libraries/unstable
  exposed-modules:
    Signet.Unstable
    Signet.Unstable.Exception.InvalidAsymmetricSignature
    Signet.Unstable.Exception.InvalidId
    Signet.Unstable.Exception.InvalidMessage
    Signet.Unstable.Exception.InvalidPublicKey
    Signet.Unstable.Exception.InvalidSecret
    Signet.Unstable.Exception.InvalidSecretKey
    Signet.Unstable.Exception.InvalidSignature
    Signet.Unstable.Exception.InvalidSigner
    Signet.Unstable.Exception.InvalidSymmetricSignature
    Signet.Unstable.Exception.InvalidTimestamp
    Signet.Unstable.Exception.InvalidVerifier
    Signet.Unstable.Exception.SignetException
    Signet.Unstable.Exception.ToleranceException
    Signet.Unstable.Exception.VerificationException
    Signet.Unstable.Extra.Either
    Signet.Unstable.Extra.Http
    Signet.Unstable.Extra.Maybe
    Signet.Unstable.Type.AsymmetricSignature
    Signet.Unstable.Type.Id
    Signet.Unstable.Type.Message
    Signet.Unstable.Type.Payload
    Signet.Unstable.Type.PublicKey
    Signet.Unstable.Type.Secret
    Signet.Unstable.Type.SecretKey
    Signet.Unstable.Type.Signature
    Signet.Unstable.Type.Signatures
    Signet.Unstable.Type.Signer
    Signet.Unstable.Type.SymmetricSignature
    Signet.Unstable.Type.Timestamp
    Signet.Unstable.Type.Tolerance
    Signet.Unstable.Type.UnknownSignature
    Signet.Unstable.Type.Verifier

  hs-source-dirs: source/libraries/unstable

library
  import: library
  build-depends: signet:unstable
  -- cabal-gild: discover source/libraries/signet
  exposed-modules: Signet
  hs-source-dirs: source/libraries/signet

library test
  import: library, dependencies
  build-depends:
    signet:unstable,
    tasty ^>=1.4 || ^>=1.5.3,
    tasty-hunit ^>=0.10.2,
    transformers ^>=0.6.1.0,

  -- cabal-gild: discover source/libraries/test
  exposed-modules:
    Signet.Unstable.Exception.InvalidAsymmetricSignatureTest
    Signet.Unstable.Exception.InvalidIdTest
    Signet.Unstable.Exception.InvalidMessageTest
    Signet.Unstable.Exception.InvalidPublicKeyTest
    Signet.Unstable.Exception.InvalidSecretKeyTest
    Signet.Unstable.Exception.InvalidSecretTest
    Signet.Unstable.Exception.InvalidSignatureTest
    Signet.Unstable.Exception.InvalidSignerTest
    Signet.Unstable.Exception.InvalidSymmetricSignatureTest
    Signet.Unstable.Exception.InvalidTimestampTest
    Signet.Unstable.Exception.InvalidVerifierTest
    Signet.Unstable.Exception.SignetExceptionTest
    Signet.Unstable.Exception.ToleranceExceptionTest
    Signet.Unstable.Exception.VerificationExceptionTest
    Signet.Unstable.Extra.EitherTest
    Signet.Unstable.Extra.HttpTest
    Signet.Unstable.Extra.MaybeTest
    Signet.Unstable.Extra.Tasty
    Signet.Unstable.Type.AsymmetricSignatureTest
    Signet.Unstable.Type.IdTest
    Signet.Unstable.Type.MessageTest
    Signet.Unstable.Type.PayloadTest
    Signet.Unstable.Type.PublicKeyTest
    Signet.Unstable.Type.SecretKeyTest
    Signet.Unstable.Type.SecretTest
    Signet.Unstable.Type.SignatureTest
    Signet.Unstable.Type.SignaturesTest
    Signet.Unstable.Type.SignerTest
    Signet.Unstable.Type.SymmetricSignatureTest
    Signet.Unstable.Type.TimestampTest
    Signet.Unstable.Type.ToleranceTest
    Signet.Unstable.Type.UnknownSignatureTest
    Signet.Unstable.Type.VerifierTest
    Signet.UnstableTest
    SignetTest

  hs-source-dirs: source/libraries/test

test-suite signet-test-suite
  import: executable
  build-depends:
    signet:test,
    tasty,

  hs-source-dirs: source/test-suite
  main-is: Main.hs
  type: exitcode-stdio-1.0