packages feed

roshask-0.2.1: roshask.cabal

Name:                roshask
Version:             0.2.1
Synopsis:            Haskell support for the ROS robotics framework.
License:             BSD3
License-file:        LICENSE
Cabal-version:       >=1.10
Author:              Anthony Cowley
Maintainer:          Anthony Cowley <acowley@seas.upenn.edu>
Copyright:           (c) 2010 Anthony Cowley
Category:            Robotics
Build-type:          Simple
Bug-reports:         http://github.com/acowley/roshask/issues
Homepage:            http://github.com/acowley/roshask
Tested-with:         GHC >= 7.6
Description:         Tools for working with ROS in Haskell.
                     .
                     ROS (<http://www.ros.org>) is a software
                     framework that provides a standard software
                     architecture for robotic systems. The main idea
                     of the framework is to support the development
                     and execution of loosely coupled /Node/s
                     connected by typed /Topic/s. Each Node represents
                     a locus of processing, ideally with a minimal
                     interface specified in terms of the types of
                     Topics it takes as input and offers as output.
                     .
                     This package provides libraries for creating new
                     ROS Nodes in Haskell, along with the @roshask@
                     executable for creating new ROS packages and
                     generating Haskell code from message definition
                     files (see the ROS documentation for information
                     on message types).
                     .
                     See
                     <http://github.com/acowley/roshask/wiki> for more
                     information on getting started.

Extra-source-files:  Examples/PubSub/CMakeLists.txt
                     Examples/PubSub/Makefile
                     Examples/PubSub/PubSub.cabal
                     Examples/PubSub/Setup.hs
                     Examples/PubSub/mainpage.dox
                     Examples/PubSub/manifest.xml
                     Examples/PubSub/src/Talker.hs
                     Examples/PubSub/src/Listener.hs
                     Examples/Turtle/CMakeLists.txt
                     Examples/Turtle/Makefile
                     Examples/Turtle/Turtle.cabal
                     Examples/Turtle/Setup.hs
                     Examples/Turtle/mainpage.dox
                     Examples/Turtle/manifest.xml
                     Examples/Turtle/src/*.hs

Source-repository head
  type:     git
  location: http://github.com/acowley/roshask.git

Flag logging
 Description: Enable ROS Logging support.
 Default:     True

Library
  -- Modules exported by the library.
  Exposed-modules:     Ros.Node
                       Ros.Topic
                       Ros.Topic.Util
                       Ros.Topic.PID
                       Ros.Topic.Transformers
                       Ros.Topic.Stamped
                       Ros.Rate
                       Ros.Internal.DepFinder
                       Ros.Internal.Msg.MsgInfo
                       Ros.Internal.Msg.SrvInfo
                       Ros.Internal.Msg.HeaderSupport
                       Ros.Internal.Util.BytesToVector
                       Ros.Internal.Util.StorableMonad
                       Ros.Internal.RosTime
                       Ros.Internal.RosTypes
                       Ros.Internal.RosBinary
                       Ros.Internal.SetupUtil
                       Ros.Internal.PathUtil
                       Ros.Util.PID
                       Ros.Service
                       Ros.Service.ServiceTypes

  -- The Log and Header message types must be generated by a
  -- bootstrapped roshask.
  if flag(logging)
    Exposed-modules:   Ros.Logging
    Other-modules:     Ros.Internal.Log
                       Ros.Internal.Header
                       Ros.Node.RosTcp
    Build-depends:     template-haskell

  -- Packages needed in order to build this package.
  Build-depends:       base >= 4.5 && < 6,
                       binary >= 0.7.2.1,
                       bytestring,
                       containers,
                       network >= 2.3,
                       Cabal >= 1.20,
                       stm >= 2.1.2,
                       mtl >= 2.2.1,
                       time >= 1.1,
                       BoundedChan >= 1.0.0.2,
                       parsec >= 3.1,
                       process >= 1.0.1.3,
                       SafeSemaphore,
                       snap-core >= 0.9,
                       snap-server >= 0.9,
                       storable-tuple >= 0.0.2,
                       transformers >= 0.4,
                       haxr >= 3000.10.4,
                       utf8-string >= 0.3.6,
                       uri >= 0.1.5,
                       vector-space,
                       filemanip > 0.3.6,
                       vector >= 0.10,
                       filepath > 1.1,
                       xml >= 1.3.5,
                       directory > 1.0

  if !os(windows)
    Build-depends: unix


  GHC-Options:         -Wall
  Hs-Source-Dirs:      src
  default-language: Haskell2010
  -- Modules not exported by this package.
  Other-modules:      Ros.Graph.Master Ros.Graph.Slave Ros.Graph.ParameterServer
                      Ros.Node.Type Ros.Node.RunNode Ros.Node.BinaryIter
                      Ros.Node.ConnectionHeader Ros.Topic.Stats
                      Ros.Internal.Util.RingChan
                      Ros.Internal.Util.ArgRemapping
                      Ros.Internal.Util.AppConfig
                      Paths_roshask

-- The ROS .msg definition parser and Haskell code generation utility.
Executable roshask
  Build-Depends:  base >= 4.2 && < 6,
                  bytestring,
                  containers,
                  deepseq,
                  mtl >= 2,
                  vector >= 0.10,
                  binary >= 0.7.2.1,
                  filepath > 1.1,
                  attoparsec > 0.8,
                  directory > 1.0,
                  process >= 1.0.1.2,
                  xml >= 1.3.5,
                  pureMD5 >= 2.1,
                  filemanip > 0.3.6,
                  data-default-generics >= 0.3,
                  roshask
  default-language: Haskell2010
  GHC-Options:    -O2 -Wall
  Main-Is:        Main.hs
  Other-modules:  Analysis Gen MD5 Parse PkgInit ResolutionTypes
                  FieldImports Unregister PkgBuilder Types 
                  Instances.Binary Instances.Storable Instances.NFData
                  Paths_roshask
  Hs-Source-Dirs: src/executable

test-suite testexe
  type: exitcode-stdio-1.0
  hs-source-dirs: Tests, src/executable
  main-is: AllTests.hs
  ghc-options: -Wall -O0
  default-language: Haskell2010
  build-depends: base >= 4.6 && < 5, bytestring, tasty, tasty-hunit, roshask,
                 containers, mtl,
                 filepath, attoparsec, transformers,
                 pureMD5 >= 2.1

test-suite servicetest
  type: exitcode-stdio-1.0
  hs-source-dirs: Tests/ServiceClientTests
  main-is: ServiceClientTest.hs
  ghc-options: -Wall -O0
  default-language: Haskell2010
  build-depends: base >= 4.6 && < 5, bytestring, tasty, tasty-hunit, roshask,
                 containers, mtl, filepath, attoparsec, transformers,
                 pureMD5 >= 2.1,
                 data-default-generics,
                 testpack