packages feed

libssh2-0.2.0.7: libssh2.cabal

Name:                libssh2

Version:             0.2.0.7

Synopsis:            FFI bindings to libssh2 SSH2 client library (http://libssh2.org/)

Description:         This package provides FFI bindings for SSH2 client library named libssh2.
                     .
                     As of version 0.2 all blocking is handled in Haskell code
                     rather than in C code. This means that all calls are now
                     interruptable using Haskell asynchronous exceptions; for
                     instance, it is now possible to use "System.Timeout" in
                     combination with "libssh2".
                     .
                     /Note on usage on Windows/: On Windows you MUST compile
                     your executable with @-threaded@ or 'libssh2' will NOT
                     work. We have tested 'libssh2' on Windows using
                     <http://mingw.org/>, with <http://www.openssl.org/> and
                     <http://libssh2.org/> compiled from source (be sure to pass
                     the 'shared' option to the configure script for 'openssl'
                     to enable the shared libraries).

Homepage:            https://github.com/portnov/libssh2-hs

License:             BSD3

License-file:        LICENSE

Author:              IlyaPortnov

Maintainer:          portnov84@rambler.ru

-- A copyright notice.
-- Copyright:

Category:            Network

Build-type:          Simple

Extra-source-files:  ssh-client.hs, Makefile, include/libssh2_local.h

-- Constraint on the version of Cabal needed to build this package.
Cabal-version:       >=1.8

flag gcrypt
  description: add hack that allows to run threaded program when libssh2 is built against gcrypt
  default: False

flag example-client
  description: Build the example client
  default: False

Library
  Exposed-modules:     Network.SSH.Client.LibSSH2.Types
                       Network.SSH.Client.LibSSH2.Foreign
                       Network.SSH.Client.LibSSH2.Errors
                       Network.SSH.Client.LibSSH2.WaitSocket
                       Network.SSH.Client.LibSSH2

  Include-dirs:        include
  Includes:            include/libssh2_local.h

  Build-depends:       base >= 4 && < 5, network >= 2.3,
                       syb >= 0.3.3, time >= 1.2,
                       bytestring >= 0.9,
                       unix

  Extra-libraries:     "ssh2"
  pkgconfig-depends:   libssh2 >= 1.2.8
  GHC-Options:         -Wall

  -- Other-modules:

  Build-tools:         c2hs
  HS-Source-Dirs:      src

  if flag(gcrypt)
      c-sources:           src/Network/SSH/Client/LibSSH2/FFI/gcrypt-fix.c
      Includes:            gcrypt-fix.h
      Exposed-modules:     Network.SSH.Client.LibSSH2.GCrypt
      Cpp-options:         -DGCRYPT

Executable hs-ssh-client
  if flag(example-client)
    Build-depends: base, utf8-string, syb, network, filepath, bytestring, time
  else
    buildable: False
  Main-Is: ssh-client.hs
  GHC-Options: -threaded

Source-repository head
  type: git
  location: https://github.com/portnov/libssh2-hs