~ubuntu-branches/ubuntu/precise/ghc/precise

« back to all changes in this revision

Viewing changes to libraries/haskeline/haskeline.cabal

  • Committer: Bazaar Package Importer
  • Author(s): Joachim Breitner
  • Date: 2011-01-17 12:49:24 UTC
  • Revision ID: james.westby@ubuntu.com-20110117124924-do1pym1jlf5o636m
Tags: upstream-7.0.1
ImportĀ upstreamĀ versionĀ 7.0.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Name:           haskeline
 
2
Cabal-Version:  >=1.6
 
3
Version:        0.6.3
 
4
Category:       User Interfaces
 
5
License:        BSD3
 
6
License-File:   LICENSE
 
7
Copyright:      (c) Judah Jacobson
 
8
Author:         Judah Jacobson
 
9
Maintainer:     Judah Jacobson <judah.jacobson@gmail.com>
 
10
Category:       User Interfaces
 
11
Synopsis:       A command-line interface for user input, written in Haskell.
 
12
Description:    
 
13
                Haskeline provides a user interface for line input in command-line
 
14
                programs.  This library is similar in purpose to readline, but since
 
15
                it is written in Haskell it is (hopefully) more easily used in other
 
16
                Haskell programs.
 
17
                .
 
18
                Haskeline runs both on POSIX-compatible systems and on Windows.
 
19
Homepage:       http://trac.haskell.org/haskeline
 
20
Stability:      Experimental
 
21
Build-Type:     Custom
 
22
extra-source-files: examples/Test.hs CHANGES
 
23
 
 
24
flag base2
 
25
    Description: Use the base packages from before version 6.8
 
26
 
 
27
-- There are three main advantages to the terminfo backend over the portable,
 
28
-- "dumb" alternative.  First, it enables more efficient control sequences
 
29
-- when redrawing the input.  Second, and more importantly, it enables us
 
30
-- to draw on multiple lines, so we can wrap long input strings.  And third,
 
31
-- the backend adds some extra key sequences such as forwards delete.
 
32
--
 
33
-- (The "dumb" terminal also allows editing of long input strings, but is
 
34
-- restricted to only one line and thus only shows part of the input at once.)
 
35
flag terminfo
 
36
    Description: Use the terminfo package for POSIX consoles.
 
37
    Default: True
 
38
 
 
39
-- Note that the Setup script checks whether -liconv is necessary.  This flag
 
40
-- lets us override that decision.  When it is True, we use -liconv.  When it
 
41
-- is False, we run tests to decide.
 
42
flag libiconv
 
43
    Description: Explicitly link against the libiconv library.
 
44
    Default: False
 
45
 
 
46
Library
 
47
    if flag(base2) {
 
48
        Build-depends: base == 2.*
 
49
        cpp-options:    -DOLD_BASE
 
50
    }
 
51
    else {
 
52
        if impl(ghc>=6.11) {
 
53
            Build-depends: base >=4.1 && < 4.4, containers>=0.1 && < 0.5, directory>=1.0 && < 1.2,
 
54
                           bytestring==0.9.*
 
55
        }
 
56
        else {
 
57
            Build-depends: base>=3 && <4.1 , containers>=0.1 && < 0.3, directory==1.0.*,
 
58
                           bytestring==0.9.*
 
59
        }
 
60
    }
 
61
    Build-depends:  filepath >= 1.1 && < 1.3, mtl==1.1.*,
 
62
                    utf8-string==0.3.* && >=0.3.6,
 
63
                    extensible-exceptions==0.1.* && >=0.1.1.0
 
64
    Extensions:     ForeignFunctionInterface, Rank2Types, FlexibleInstances,
 
65
                TypeSynonymInstances
 
66
                FlexibleContexts, ExistentialQuantification
 
67
                ScopedTypeVariables, GeneralizedNewtypeDeriving
 
68
                MultiParamTypeClasses, OverlappingInstances
 
69
                UndecidableInstances
 
70
                PatternSignatures, CPP, DeriveDataTypeable,
 
71
                PatternGuards
 
72
    Exposed-Modules:
 
73
                System.Console.Haskeline
 
74
                System.Console.Haskeline.Completion
 
75
                System.Console.Haskeline.Encoding
 
76
                System.Console.Haskeline.MonadException
 
77
                System.Console.Haskeline.History
 
78
                System.Console.Haskeline.IO
 
79
    Other-Modules:
 
80
                System.Console.Haskeline.Backend
 
81
                System.Console.Haskeline.Command
 
82
                System.Console.Haskeline.Command.Completion
 
83
                System.Console.Haskeline.Command.History
 
84
                System.Console.Haskeline.Command.KillRing
 
85
                System.Console.Haskeline.Directory
 
86
                System.Console.Haskeline.Emacs
 
87
                System.Console.Haskeline.InputT
 
88
                System.Console.Haskeline.Key
 
89
                System.Console.Haskeline.LineState
 
90
                System.Console.Haskeline.Monads
 
91
                System.Console.Haskeline.Prefs
 
92
                System.Console.Haskeline.RunCommand
 
93
                System.Console.Haskeline.Term
 
94
                System.Console.Haskeline.Command.Undo
 
95
                System.Console.Haskeline.Vi
 
96
    include-dirs: includes
 
97
    if os(windows) {
 
98
        Build-depends: Win32>=2.0
 
99
        Other-modules: System.Console.Haskeline.Backend.Win32
 
100
        c-sources: cbits/win_console.c
 
101
        includes: win_console.h
 
102
        install-includes: win_console.h
 
103
        cpp-options: -DMINGW
 
104
    } else {
 
105
        Build-depends: unix>=2.0 && < 2.5
 
106
                        -- unix-2.3 doesn't build on ghc-6.8.1 or earlier
 
107
        c-sources: cbits/h_iconv.c
 
108
                   cbits/h_wcwidth.c
 
109
        includes: h_iconv.h
 
110
        install-includes: h_iconv.h
 
111
        Other-modules: 
 
112
                System.Console.Haskeline.Backend.WCWidth
 
113
                System.Console.Haskeline.Backend.Posix
 
114
                System.Console.Haskeline.Backend.IConv
 
115
                System.Console.Haskeline.Backend.DumbTerm
 
116
        if flag(terminfo) {
 
117
            Build-depends: terminfo>=0.3.1.3 && <0.4
 
118
            Other-modules: System.Console.Haskeline.Backend.Terminfo
 
119
            cpp-options: -DTERMINFO
 
120
        }
 
121
        if os(solaris) {
 
122
            cpp-options: -DUSE_TERMIOS_H
 
123
        }
 
124
    }
 
125
    ghc-options: -Wall