packages feed

EtaMOO-0.2.0.0: EtaMOO.cabal

name:                EtaMOO
version:             0.2.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 anticipated ready support for 64-bit MOO integers and Unicode
  MOO strings. 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 is (currently) incomplete software. It is not yet fully usable,
  although with further development it is hoped that it soon will be.

license:             BSD3
license-file:        LICENSE

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

stability:           alpha
category:            Network

build-type:          Simple
cabal-version:       >=1.8
tested-with:         GHC == 7.6.3

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

extra-source-files:  README.md
                     src/cbits/crypt.h
                     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
  hs-source-dirs:      src
  main-is:             etamoo.hs

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

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

  extensions:          CPP
                       EmptyDataDecls
                       ExistentialQuantification
                       FlexibleInstances
                       ForeignFunctionInterface
                       OverloadedStrings
                       TypeSynonymInstances

  extra-libraries:     pcre
  if !os(darwin)
    extra-libraries:   crypt

  if flag(64bit)
    cpp-options:       -DMOO_64BIT_INTEGER

  if flag(outbound-network)
    cpp-options:       -DMOO_OUTBOUND_NETWORK

  includes:            unistd.h pcre.h

  c-sources:           src/cbits/crypt.c
                       src/cbits/match.c

  build-depends:       array
                     , base ==4.*
                     , bytestring
                     , case-insensitive
                     , containers >= 0.4
                     , hashable
                     , haskeline
                     , mtl
                     , network
                     , old-locale
                     , parsec
                     , pipes
                     , pipes-bytestring
                     , pipes-concurrency
                     , pipes-network
                     , random
                     , stm
                     , stm-chans
                     , text >= 1.2
                     , time
                     , unix
                     , unordered-containers
                     , pureMD5
                     , transformers
                     , vector

  build-tools:         hsc2hs