packages feed

raketka-1.2.0: raketka.cabal

name:                raketka
version:             1.2.0
build-type:          Simple
synopsis:            distributed-process node
description:         peer node with simplelocalnet backend 
                     
author:              Imants Cekusins
maintainer:          Imants Cekusins
category:            Network Control
license:             PublicDomain
license-file:        PublicDomain
extra-source-files:  changelog.md, README.md, test-conf.json
cabal-version:       >=1.10
homepage:            https://github.com/ciez/raketka
source-repository   head
   type: git
   location: https://github.com/ciez/raketka.git


flag legacy_libc
   description: set this flag to True if you see this error message :
         cbits-unix/init.c:3:10: error:
         fatal error: sys/random.h: No such file or directory
              3 | #include <sys/random.h>
                |          ^~~~~~~~~

         how to set this flag to true:
            in cabal.project or cabal.project.local
               add this line (0 indent):
                   constraints: raketka +legacy_libc
   default: False
   manual: True


library
  exposed-modules:
          Control.Distributed.Raketka.NodeId
          Control.Distributed.Raketka.Type.Arg
          Control.Distributed.Raketka.HandleMsg
          Control.Distributed.Raketka.NewServerInfo
          Control.Distributed.Raketka.Process.Send
          Control.Distributed.Raketka.Type.Server
          Control.Distributed.Raketka.Type.Message
          Control.Distributed.Raketka.Process.Server
          Control.Distributed.Raketka.Master

  ghc-options:  -fwarn-unused-imports  
    
  build-depends:       base >=4.8 && <5.0,
                       binary,
                       bytestring,
                       containers,
                       stm,
                       distributed-process,
                       distributed-process-simplelocalnet,
                       random,
                       async,
                       network,
                       network-transport,
                       network-transport-tcp,
                       aeson,
                       conf-json,
                       template-haskell

                         
  hs-source-dirs:      src
  default-language:    Haskell2010
  default-extensions:   FlexibleInstances
                        MultiParamTypeClasses
                        TypeSynonymInstances
                        BangPatterns
                        InstanceSigs
                        OverloadedStrings
                        FunctionalDependencies
                        StandaloneDeriving
                        DeriveGeneric
                        DeriveDataTypeable
                        RecordWildCards
                        ScopedTypeVariables
                        TemplateHaskell
                        FlexibleContexts
                        TypeFamilies
                        ConstraintKinds
                        RankNTypes
                       
                       
executable raketka
  main-is:             Main.hs
  ghc-options:  -fwarn-unused-imports         
  other-modules:      Control.Distributed.Raketka.Impl.Inst
                      Control.Distributed.Raketka.HandleMsg
                      Control.Distributed.Raketka.Master
                      Control.Distributed.Raketka.NewServerInfo
                      Control.Distributed.Raketka.NodeId
                      Control.Distributed.Raketka.Process.Send
                      Control.Distributed.Raketka.Process.Server
                      Control.Distributed.Raketka.Type.Arg
                      Control.Distributed.Raketka.Type.Message
                      Control.Distributed.Raketka.Type.Server

  build-depends:       base >=4.8 && <5.0,
                       binary,
                       bytestring,
                       containers, 
                       stm,
                       distributed-process,
                       distributed-process-simplelocalnet,
                       async,
                       random,
                       network,
                       network-transport,
                       network-transport-tcp,
                       aeson,
                       conf-json,
                       template-haskell

  if flag(legacy_libc)
      build-depends: splitmix <= 0.1.1.0

                        
  hs-source-dirs:      src
  default-language:    Haskell2010
  default-extensions:   FlexibleInstances
                        MultiParamTypeClasses
                        TypeSynonymInstances
                        BangPatterns
                        InstanceSigs
                        OverloadedStrings
                        FunctionalDependencies
                        StandaloneDeriving
                        DeriveGeneric
                        DeriveDataTypeable
                        RecordWildCards
                        ScopedTypeVariables
                        TemplateHaskell
                        FlexibleContexts
                        TypeFamilies
                        ConstraintKinds
                        RankNTypes
                        GeneralizedNewtypeDeriving

                        
test-suite spec
  default-language:Haskell2010
  type: exitcode-stdio-1.0
  ghc-options:  -fwarn-unused-imports -main-is TestMain
  hs-source-dirs: test, src
  default-extensions:   FlexibleInstances
                        MultiParamTypeClasses
                        TypeSynonymInstances
                        BangPatterns
                        OverloadedStrings
                        FunctionalDependencies
                        StandaloneDeriving
                        ScopedTypeVariables
                        TemplateHaskell
                        ConstraintKinds

  main-is: TestMain.hs

  build-depends:  base >=4.8 && <5.0,
                  hspec >= 2.1.7,
                  QuickCheck >= 2.8.1

  if flag(legacy_libc)
      build-depends: splitmix <= 0.1.1.0