packages feed

select-0.1: select.cabal

Name:                select
Version:             0.1
Synopsis:            Give the select(2) POSIX function a simple STM interface
Homepage:            http://nonempty.org/software/haskell-select
License:             BSD3
License-file:        LICENSE
Author:              Gard Spreemann
Maintainer:          Gard Spreemann <gspreemann@gmail.com>
Copyright:           2012 Gard Spreemann
Category:            System
Build-type:          Simple
Extra-source-files:  src/System/Posix/IO/Select/select_wrapper.c src/System/Posix/IO/Select/select_wrapper.h
Cabal-version:       >=1.2
Description:         While tinkering on a project, I frequently found myself
		     having to make FFI calls to @select(2)@. This package is an attempt
		     reduce the boilerplate I needed to do that. While at it, I took the
		     opportunity to have what @select@ returns put in a 'TMVar'.
		     .
		     The package has three parts:
		     .
		     ["System.Posix.IO.Select"] just wraps @select@.
		     .
		     ["Control.Concurrent.STM.TMVarIO"] and "Control.Concurrent.MVarIO" put the
		     return value of IO actions into a 'TMVar' or an 'MVar', respectively.
		     .
		     ["System.Posix.IO.Select.STM"] and "System.Posix.IO.Select.MVar" do the above for
		     @select@.
		     .
		     /NOTE/: I feel I'm occupying prime namespace realestate with a package name
		     like select. I'll happily let myself be chased away if anybody else wants
		     to use this package name. Let me know.
		     .
		     /CAVEAT/: I'm not an experienced Haskeller, and this is my first foray into
		     FFI in general.



Library
  Exposed-modules:     Control.Concurrent.MVarIO,
                       Control.Concurrent.STM.TMVarIO,
                       System.Posix.IO.Select,
                       System.Posix.IO.Select.STM,
                       System.Posix.IO.Select.Types,
                       System.Posix.IO.Select.MVar
  
  hs-source-dirs:      src
  Build-depends:       base >= 4 && <5, vector, stm
  
  c-sources:           src/System/Posix/IO/Select/select_wrapper.c
  cc-options:          -std=c99 -Wall -DNDEBUG