packages feed

EtaMOO-0.3.0.0: EtaMOO.cabal

name:                EtaMOO
version:             0.3.0.0

synopsis:            A new implementation of the LambdaMOO server

description:

  LambdaMOO is a network-accessible, multi-user, programmable, interactive
  system well-suited to the construction of text-based adventure games,
  conferencing systems, and other collaborative software.
  .
  EtaMOO is an experimental multithreaded implementation of LambdaMOO in
  Haskell with LMDB-backed persistence and anticipated ready support for
  Unicode MOO strings and 64-bit MOO integers. The implementation follows the
  specifications of the LambdaMOO Programmer's Manual, and should be
  compatible with most LambdaMOO databases as of about version 1.8.3 of the
  LambdaMOO server code.
  .
  /N.B./ This software is still under development and not fully complete.

license:             BSD3
license-file:        LICENSE

copyright:           © 2014–2016 Robert Leslie
author:              Rob Leslie <rob@mars.org>
maintainer:          Rob Leslie <rob@mars.org>

stability:           alpha
category:            Network

build-type:          Simple
cabal-version:       >= 1.22
tested-with:         GHC == 7.10.3

homepage:            http://verement.github.io/etamoo
bug-reports:         https://github.com/verement/etamoo/issues

extra-source-files:  ACKNOWLEDGMENTS.md
                     DIFFERENCES.md
                     README.md
                     TODO
                     src/cbits/match.h

source-repository head
  type:              git
  location:          https://github.com/verement/etamoo.git

-- source-repository this
--   type:     git
--   location: git://...

flag llvm
  description: Use GHC's LLVM backend to compile the code
  default:     False

flag 64bit
  description: Enable 64-bit MOO integers
  default:     False

flag outbound-network
  description: Enable open_network_connection() by default
  default:     False

executable etamoo
  default-language:    Haskell2010

  hs-source-dirs:      src
  main-is:             etamoo.hs

  other-modules:       MOO.AST
                       MOO.Builtins
                       MOO.Builtins.Common
                       MOO.Builtins.Crypt
                       MOO.Builtins.Extra
                       MOO.Builtins.Hash
                       MOO.Builtins.Match
                       MOO.Builtins.Misc
                       MOO.Builtins.Network
                       MOO.Builtins.Objects
                       MOO.Builtins.Tasks
                       MOO.Builtins.Values
                       MOO.Command
                       MOO.Compiler
                       MOO.Connection
                       MOO.Database
                       MOO.Database.LambdaMOO
                       MOO.List
                       MOO.Network
                       MOO.Network.Console
                       MOO.Network.TCP
                       MOO.Object
                       MOO.Parser
                       MOO.Server
                       MOO.String
                       MOO.Task
                       MOO.Types
                       MOO.Unparser
                       MOO.Util
                       MOO.Verb
                       MOO.Version
                       Paths_EtaMOO

  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
  if flag(llvm)
    ghc-options:       -fllvm

  default-extensions:
  other-extensions:    CPP
                       DeriveDataTypeable
                       EmptyDataDecls
                       ExistentialQuantification
                       FlexibleInstances
                       ForeignFunctionInterface
                       GeneralizedNewtypeDeriving
                       OverloadedStrings
                       Rank2Types

  pkgconfig-depends:   libpcre >= 8.20

  if !os(darwin)
    extra-libraries:   crypt

  if flag(64bit)
    cpp-options:       -DMOO_64BIT_INTEGER
  if flag(outbound-network)
    cpp-options:       -DMOO_OUTBOUND_NETWORK

  c-sources:           src/cbits/match.c

  build-depends:       array
                     , async
                     , base >= 4.7 && ==4.*
                     , bytestring
                     , case-insensitive
                     , containers >= 0.4
                     , cryptonite
                     , hashable
                     , haskeline
                     , memory
                     , mtl
                     , network
                     , parsec
                     , pipes
                     , pipes-bytestring
                     , pipes-concurrency >= 2.0.3
                     , pipes-network
                     , random
                     , stm
                     , stm-chans
                     , text >= 1.2.1.2
                     , time >= 1.5
                     , transformers
                     , unix
                     , unordered-containers
                     , vcache
                     , vector >= 0.7

  build-tools:         hsc2hs