packages feed

hsaml2-0.2.0: hsaml2.cabal

name:                hsaml2
version:             0.2.0
synopsis:            OASIS Security Assertion Markup Language (SAML) V2.0
description:         Direct implementation of the SAML XML standard (https://www.oasis-open.org/standards#samlv2.0), along with some related dependencies.  This is currently partial, as the standard is quite extensive, but is sufficient to build a functioning SP and fully validate responses.  The module layout basically follows the standard definition documentation.  Its use still requires a fairly extensive understanding of SAML.
license:             Apache-2.0
license-file:        LICENSE
author:              Dylan Simon
maintainer:          dylan@dylex.net
copyright:           2016
category:            Security, Network, Web
build-type:          Simple
cabal-version:       >=1.10

extra-source-files:
  test/Metadata/metadata-idp.xml
  test/Metadata/metadata-nyu.xml
  test/Metadata/metadata-osf.xml
  test/Metadata/metadata-sp.xml
  test/XML/encryption-example.xml
  test/XML/noncanonical1.xml
  test/XML/noncanonical2.xml
  test/XML/noncanonical3.xml
  test/XML/noncanonical4.xml
  test/XML/noncanonical5.xml
  test/XML/noncanonical6.xml
  test/XML/signature-example.xml
  test/XML/world.txt

flag crypton
  description: Use cryton instead of cryptonite
  default: True

source-repository head
  type: git
  location: https://github.com/dylex/hsaml2

library
  exposed-modules:
    SAML2
    SAML2.XML
    SAML2.XML.Schema
    SAML2.XML.Schema.Datatypes
    SAML2.XML.Canonical
    SAML2.XML.ASN1
    SAML2.XML.Signature
    SAML2.XML.Signature.Types
    SAML2.XML.Encryption
    SAML2.XML.Types
    SAML2.Core
    SAML2.Core.Namespaces
    SAML2.Core.Datatypes
    SAML2.Core.Assertions
    SAML2.Core.Protocols
    SAML2.Core.Versioning
    SAML2.Core.Signature
    SAML2.Core.Identifiers
    SAML2.Profiles
    SAML2.Profiles.ConfirmationMethod
    SAML2.Bindings
    SAML2.Bindings.General
    SAML2.Bindings.Identifiers
    SAML2.Bindings.HTTPRedirect
    SAML2.Bindings.HTTPPOST
    SAML2.Metadata
    SAML2.Metadata.Metadata
  other-modules:
    SAML2.Lens
    SAML2.XML.LibXML2
    SAML2.Bindings.Internal
  c-sources:
    SAML2/XML/libxml2_stub.c
  if flag(crypton)
    build-depends:
      crypton,
      crypton-x509
  else
    build-depends:
      cryptonite,
      x509
  build-depends:
    asn1-encoding,
    asn1-types >= 0.2,
    base >=4.8 && <5,
    base64-bytestring,
    bytestring,
    data-default,
    http-types,
    hxt,
    hxt-charproperties,
    hxt-unicode,
    invertible,
    invertible-hxt,
    lens,
    memory,
    mtl,
    network-uri,
    process,
    silently,
    semigroups,
    template-haskell,
    time,
    utf8-string,
    zlib
  pkgconfig-depends: libxml-2.0
  default-language:    Haskell2010
  ghc-options: -Wall

test-suite tests
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  other-modules:
    Bindings.HTTPRedirect
    Metadata.Metadata
    XML
    XML.Canonical
    XML.Keys
    XML.Encryption
    XML.Signature
  default-language: Haskell2010
  ghc-options: -Wall
  if flag(crypton)
    build-depends:
      crypton,
      crypton-x509
  else
    build-depends:
      cryptonite,
      x509
  build-depends:
    base,
    base64-bytestring,
    bytestring,
    utf8-string,
    hsaml2,
    hxt,
    http-types,
    network-uri,
    semigroups,
    time,
    HUnit