packages feed

darcsden-1.0: darcsden.cabal

name:            darcsden
version:         1.0
synopsis:        Darcs repository UI and hosting/collaboration app.
description:
    A web application and SSH server for browsing and hosting darcs
    repositories and collaborating with others.
    .
    See the README in the source repository for installation help.
cabal-version:   >=1.6
build-type:      Simple
license:         GPL
license-file:    LICENSE
author:          Alex Suraci <suraci.alex@gmail.com>
maintainer:      Alex Suraci <suraci.alex@gmail.com>, Simon Michael <simon@joyful.com>
homepage:        http://hackage.haskell.org/package/darcsden
category:        Development, Distribution, Web

source-repository   head
    type:           darcs
    location:       http://hub.darcs.net/simon/darcsden
    -- location:       http://darcsden.com/alex/darcsden

flag darcs28
    Description:   Build with released darcs 2.8.2+, not the latest darcs-screened.
    Default:       True

-- Several flags just to help with building on windows in the short term.
-- Disable these to skip the highlighting-kate, pcre-light, and ssh
-- dependencies:

flag highlighting
    Description:   Enable source code highlighting
    Default:       True

flag closing
    Description:   Enable closing of bugs in the post-hook
    Default:       True

flag ssh
    Description:   Enable ssh server for remote pushes
    Default:       True

executable darcsden
  hs-source-dirs:  src
  main-is:         WebServer.hs
  -- not -threaded until libdarcs is working directory thread safe
  ghc-options:     -Wall -fno-warn-unused-do-bind
  if flag(darcs28)
    cpp-options: -DDARCS28
    build-depends: darcs >= 2.8.2 && < 2.9
  else
    build-depends: darcs > 2.9 && < 2.10
  if flag(highlighting)
    cpp-options: -DHIGHLIGHTING
    build-depends:
    { highlighter
    , highlighting-kate
    }
  if flag(ssh)
    cpp-options: -DSSH_FLAG
    build-depends:
      ssh >= 0.2.6
  build-depends:
      base >= 4 && < 5
    , base64-string
    , blaze-builder >= 0.3.1.0 && < 0.4
    , blaze-html >= 0.4.0.0 && < 0.5
    , bytestring
    , CouchDB
    , containers
    , directory
    , filepath
    , harp
    , hashed-storage
    , hsp >= 0.7 && < 0.8
    , json
    , mtl >= 2 && < 2.2
    , old-locale
    , old-time
    , pandoc
    , pureMD5
    , process
    , random
    , redis
    , safe
    , SHA
    , snap-core >= 0.8 && < 0.10
    , snap-server >= 0.8 && < 0.10
    , system-uuid
    , split
    , text
    , time
    , utf8-string
    , xhtml
    , xml

executable darcsden-ssh
  hs-source-dirs:  src
  main-is:         SSHServer.hs
  ghc-options:     -Wall -threaded -fno-warn-unused-do-bind
  if flag(darcs28)
    cpp-options: -DDARCS28
    build-depends: darcs > 2.8.1 && < 2.9
  else
    build-depends: darcs > 2.9 && < 2.10
  if flag(ssh)
    cpp-options: -DSSH_FLAG
    build-depends:
      ssh >= 0.2.6

executable darcsden-post-hook
  hs-source-dirs:  src
  main-is:         PostHook.hs
  ghc-options:     -Wall -threaded -fno-warn-unused-do-bind

  if flag(darcs28)
    cpp-options: -DDARCS28
    build-depends: darcs > 2.8.1 && < 2.9
  else
    build-depends: darcs > 2.9 && < 2.10
  if flag(ssh)
    cpp-options: -DSSH_FLAG
  if flag(closing)
    cpp-options: -DCLOSING
    build-depends: pcre-light