packages feed

haskeline-0.2: haskeline.cabal

Name:           haskeline
Cabal-Version:  >=1.2
Version:        0.2
Category:       User Interfaces
License:        BSD3
License-File:   LICENSE
Copyright:      (c) Judah Jacobson
Author:         Judah Jacobson
Maintainer:     Judah Jacobson <judah.jacobson@gmail.com>
Category:       User Interfaces
Synopsis:       A command-line interface for user input, written in Haskell.
Description:    
                Haskeline provides a user interface for line input in command-line
                programs.  This library is similar in purpose to readline, but since
                it is written in Haskell it is (hopefully) more easily used in other
                Haskell programs.
                .
                Haskeline runs both on POSIX-compatible systems and on Windows
                (under MinGW).
Homepage:       http://code.haskell.org/haskeline
Stability:      Experimental
Build-Type:     Simple

flag target-mingw
    Description: Use native Win32 Console functionality (suitable for MinGW)
    Default: False

flag old-base
    Description: Use the base packages from before version 6.8

Library
    if flag(old-base)
        Build-depends: base < 3
    else
        Build-depends: base>=3.0, containers>=0.1, directory>=1.0
    Build-depends:  stm>=2.0, filepath>=1.1, template-haskell>=2.1, 
                    mtl>=1.1, utf8-string>=0.3.1.1, bytestring>=0.9.0.1
    Extensions:     ForeignFunctionInterface, Rank2Types, FlexibleInstances,
                TypeSynonymInstances
                FlexibleContexts, ExistentialQuantification
                ScopedTypeVariables, GeneralizedNewtypeDeriving
                MultiParamTypeClasses, OverlappingInstances
                PatternSignatures, CPP, DeriveDataTypeable,
                PatternGuards, TemplateHaskell, StandaloneDeriving
                -- Note: GADTs are needed to allow contexts of different
                -- lengths (see code of Haskeline.repeatTillFinish)
                GADTs
    Exposed-Modules:
                System.Console.Haskeline
                System.Console.Haskeline.Completion
                System.Console.Haskeline.Prefs
                System.Console.Haskeline.MonadException
    Other-Modules:
                System.Console.Haskeline.Backend
                System.Console.Haskeline.Command
                System.Console.Haskeline.Command.Completion
                System.Console.Haskeline.Command.History
                System.Console.Haskeline.Emacs
                System.Console.Haskeline.InputT
                System.Console.Haskeline.LineState
                System.Console.Haskeline.Monads
                System.Console.Haskeline.Term
                System.Console.Haskeline.Vi
    include-dirs: includes
    if flag(target-mingw) {
        Build-depends: Win32>=2.0
        Other-modules: System.Console.Haskeline.Backend.Win32
        c-sources: cbits/win_console.c
        includes: win_console.h
        install-includes: win_console.h
        cpp-options: -DMINGW
    } else {
        Build-depends: terminfo>=0.2, unix>=2.0
        Other-modules: 
                System.Console.Haskeline.Backend.Posix
                System.Console.Haskeline.Backend.DumbTerm
                System.Console.Haskeline.Backend.Terminfo
    }
    ghc-options: -Wall