packages feed

Scurry-0.0.1: Scurry.cabal

Name:          Scurry
Version:       0.0.1
Category:      Network
Description:   A distributed VPN system written in Haskell.
License:       BSD3
License-File:  LICENSE
Author:        John Van Enk
Maintainer:    vanenkj@gmail.com
Copyright:     John Van Enk, 2009

Synopsis:      A cross platform P2P VPN application built using Haskell.
Stability:     Experimental

Description:   P2P VPN implementation currently without any encryption.
               Supports Windows and Unix variants. Features include:
               .
               * Simple NAT Traversal using UDP (similar to STUN, not the same).
               .
               * Automatic address assignment to new peers
               .
               * Emulates a LAN between machines
               .
               Note: Scurry currently has no encryption layer or authentication
               mechanism at all. Also, the packet switching is currently
               implemented using Data.List.lookup as opposed to something
               more appropriate. This really isn't much of a problem until
               you hit hundreds or thousands of peers.
               .
               Requires a TAP-Win32 driver to run in Windows. Requires the tun
               module to be loaded to run in Linux (expects \/dev\/net\/tun).

Homepage:      http://code.google.com/p/scurry/

Cabal-Version: >= 1.2.0
Build-Type:    Simple

extra-source-files: src/C/help.h

executable scurry
    build-depends: base >= 3.0.0.0
    build-depends: binary >= 0.4.3.1
    build-depends: network >= 2.1.0.0
    build-depends: network-bytestring >= 0.1.1.2
    build-depends: bytestring >= 0.9.1.3
    build-depends: stm >= 2.1.1.0
    build-depends: parsec >= 3.0.0
    build-depends: containers
    build-depends: time >= 1.1.2.2
    build-depends: random >= 1.0.0.0

    if os(mingw32)
        c-sources:          src/C/help-win.c
        extra-libraries:    Iphlpapi, ws2_32
        cc-options:         -D MINGW32
        cpp-options:        -DCALLCONV=stdcall

    if os(linux)
        build-depends: unix >= 2.3.0.0
        c-sources:          src/C/help-linux.c
        cc-options:         -D LINUX
        cpp-options:        -DCALLCONV=ccall

    if os(darwin) || os(freebsd)
        build-depends: unix >= 2.3.0.0
        c-sources:          src/C/help-bsd.c
        cc-options:         -D BSD
        cpp-options:        -DCALLCONV=ccall
 
    hs-source-dirs:     src
    ghc-options:        -Wall -threaded
    main-is:            scurry.hs