packages feed

box-socket-0.5.1.0: box-socket.cabal

cabal-version: 3.0
name: box-socket
version: 0.5.1.0
license: BSD-3-Clause
license-file: LICENSE
copyright: Tony Day (c) 2017
category: web
author: Tony Day
maintainer: tonyday567@gmail.com
homepage: https://github.com/tonyday567/box-socket#readme
bug-reports: https://github.com/tonyday567/box-socket/issues
synopsis: Box websockets
description: Websockets built with the box library.
build-type: Simple
tested-with:
    GHC ==8.10.7 || ==9.2.7 || ==9.4.7 || ==9.6.3 || ==9.8.1
extra-doc-files:
    ChangeLog.md
    readme.org

source-repository head
    type: git
    location: https://github.com/tonyday567/box-socket

common ghc-options-exe-stanza
    ghc-options:
        -fforce-recomp
        -funbox-strict-fields
        -rtsopts
        -threaded
        -with-rtsopts=-N

common ghc-options-stanza
    ghc-options:
        -Wall
        -Wcompat
        -Widentities
        -Wincomplete-record-updates
        -Wincomplete-uni-patterns
        -Wpartial-fields
        -Wredundant-constraints

common ghc2021-stanza
    if impl ( ghc >= 9.2 )
        default-language: GHC2021

    if impl ( ghc < 9.2 )
        default-language: Haskell2010
        default-extensions:
            BangPatterns
            BinaryLiterals
            ConstrainedClassMethods
            ConstraintKinds
            DeriveDataTypeable
            DeriveFoldable
            DeriveFunctor
            DeriveGeneric
            DeriveLift
            DeriveTraversable
            DoAndIfThenElse
            EmptyCase
            EmptyDataDecls
            EmptyDataDeriving
            ExistentialQuantification
            ExplicitForAll
            FlexibleContexts
            FlexibleInstances
            ForeignFunctionInterface
            GADTSyntax
            GeneralisedNewtypeDeriving
            HexFloatLiterals
            ImplicitPrelude
            InstanceSigs
            KindSignatures
            MonomorphismRestriction
            MultiParamTypeClasses
            NamedFieldPuns
            NamedWildCards
            NumericUnderscores
            PatternGuards
            PolyKinds
            PostfixOperators
            RankNTypes
            RelaxedPolyRec
            ScopedTypeVariables
            StandaloneDeriving
            StarIsType
            TraditionalRecordSyntax
            TupleSections
            TypeApplications
            TypeOperators
            TypeSynonymInstances

    if impl ( ghc < 9.2 ) && impl ( ghc >= 8.10 )
        default-extensions:
            ImportQualifiedPost
            StandaloneKindSignatures

library
    import: ghc-options-stanza
    import: ghc2021-stanza
    hs-source-dirs: src
    build-depends:
        , async          >=2.2.3 && <2.3
        , base           >=4.8 && <5
        , box            >=0.9.3 && <0.10
        , bytestring     >=0.11.3 && <0.13
        , network-simple >=0.4 && <0.5
        , profunctors    >=5.6 && <5.7
        , text           >=1.2 && <2.2
        , websockets     >=0.12 && <0.13
    exposed-modules:
        Box.Socket.Types
        Box.TCP
        Box.TCP.Example
        Box.Websocket
        Box.Websocket.Example

executable box-socket
    import: ghc-options-exe-stanza
    import: ghc-options-stanza
    import: ghc2021-stanza
    main-is: box-socket.hs
    hs-source-dirs: app
    build-depends:
        , base                 >=4.7 && <5
        , box-socket
        , optparse-applicative >=0.17 && <0.19