packages feed

sbp-2.1.2: sbp.cabal

name:                  sbp
version:               2.1.2
synopsis:              SwiftNav's SBP Library
homepage:              https://github.com/swift-nav/libsbp
license:               LGPL-3
author:                Swift Navigation Inc.
maintainer:            Mark Fine <dev@swiftnav.com>
copyright:             Copyright (C) 2015 Swift Navigation, Inc.
category:              Network
build-type:            Simple
cabal-version:         >= 1.10
extra-source-files:    README.md
description:
  Haskell bindings for Swift Navigation Binary Protocol (SBP), a fast,
  simple, and minimal binary protocol for communicating with Swift
  devices. It is the native binary protocol used by the Piksi GPS
  receiver to transmit solutions, observations, status and debugging
  messages, as well as receive messages from the host operating
  system, such as differential corrections and the almanac.

source-repository head
  type:                git
  location:            git@github.com:swift-nav/libsbp.git

library
  exposed-modules:     SwiftNav.CRC16
                     , SwiftNav.SBP
                     , SwiftNav.SBP.Acquisition
                     , SwiftNav.SBP.Bootload
                     , SwiftNav.SBP.ExtEvents
                     , SwiftNav.SBP.FileIo
                     , SwiftNav.SBP.Flash
                     , SwiftNav.SBP.Gnss
                     , SwiftNav.SBP.Logging
                     , SwiftNav.SBP.Navigation
                     , SwiftNav.SBP.Observation
                     , SwiftNav.SBP.Piksi
                     , SwiftNav.SBP.Settings
                     , SwiftNav.SBP.System
                     , SwiftNav.SBP.Tracking
                     , SwiftNav.SBP.User
                     , SwiftNav.SBP.Encoding
                     , SwiftNav.SBP.Types
  other-modules:       SwiftNav.SBP.TH
  default-language:    Haskell2010
  hs-source-dirs:      src
  ghc-options:         -Wall -fno-warn-unused-imports -fno-warn-orphans
  build-depends:       aeson
                     , array
                     , base >= 4.7 && < 5
                     , base64-bytestring
                     , basic-prelude
                     , binary
                     , bytestring
                     , data-binary-ieee754
                     , lens
                     , monad-loops
                     , template-haskell
                     , text
                     , unordered-containers
  default-extensions:  RecordWildCards
                       TemplateHaskell
                       NoImplicitPrelude
                       OverloadedStrings

executable sbp2json
  hs-source-dirs:      main
  main-is:             SBP2JSON.hs
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
  build-depends:       aeson
                     , base
                     , basic-prelude
                     , binary-conduit
                     , bytestring
                     , conduit
                     , conduit-combinators
                     , conduit-extra
                     , resourcet
                     , sbp
  default-language:    Haskell2010
  default-extensions:  NoImplicitPrelude
                       OverloadedStrings

executable json2sbp
  hs-source-dirs:      main
  main-is:             JSON2SBP.hs
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
  build-depends:       aeson
                     , base
                     , basic-prelude
                     , binary-conduit
                     , bytestring
                     , conduit
                     , conduit-combinators
                     , conduit-extra
                     , resourcet
                     , sbp
  default-language:    Haskell2010
  default-extensions:  NoImplicitPrelude
                       OverloadedStrings
executable sbp2yaml
  hs-source-dirs:      main
  main-is:             SBP2YAML.hs
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
  build-depends:       base
                     , basic-prelude
                     , binary-conduit
                     , bytestring
                     , conduit
                     , conduit-extra
                     , resourcet
                     , sbp
                     , yaml
  default-language:    Haskell2010
  default-extensions:  NoImplicitPrelude
                       OverloadedStrings

benchmark bench
  type:                exitcode-stdio-1.0
  hs-source-dirs:      bench
  main-is:             Bench.hs
  build-depends:       aeson
                     , base
                     , base64-bytestring
                     , basic-prelude
                     , binary
                     , bytestring
                     , criterion
                     , sbp
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
  default-language:    Haskell2010
  default-extensions:  NoImplicitPrelude
                       OverloadedStrings

test-suite test
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Test.hs
  other-modules:       Test.SwiftNav.CRC16
                     , Test.SwiftNav.SBP.Encoding
  build-depends:       aeson
                     , base
                     , base64-bytestring
                     , basic-prelude
                     , bytestring
                     , QuickCheck
                     , sbp
                     , tasty
                     , tasty-hunit
                     , tasty-quickcheck
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
  default-language:    Haskell2010
  default-extensions:  NoImplicitPrelude
                       OverloadedStrings