summaryrefslogtreecommitdiffstats
path: root/xmonad.cabal
blob: f0c323fb269f671f21f1abe7623a79179e78f432 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
name:               xmonad
version:            0.11
homepage:           http://xmonad.org
synopsis:           A tiling window manager
description:
    xmonad is a tiling window manager for X. Windows are arranged
    automatically to tile the screen without gaps or overlap, maximising
    screen use. All features of the window manager are accessible from
    the keyboard: a mouse is strictly optional. xmonad is written and
    extensible in Haskell. Custom layout algorithms, and other
    extensions, may be written by the user in config files. Layouts are
    applied dynamically, and different layouts may be used on each
    workspace. Xinerama is fully supported, allowing windows to be tiled
    on several screens.
category:           System
license:            BSD3
license-file:       LICENSE
author:             Spencer Janssen
maintainer:         xmonad@haskell.org
extra-source-files: README TODO CONFIG STYLE tests/loc.hs tests/Properties.hs
                    man/xmonad.1.markdown man/xmonad.1 man/xmonad.1.html
                    util/GenerateManpage.hs
cabal-version:      >= 1.6
bug-reports:        http://code.google.com/p/xmonad/issues/list
build-type:         Simple

tested-with:        GHC==7.6.1,
                    GHC==7.4.1,
                    GHC==7.2.1,
                    GHC==6.12.3,
                    GHC==6.10.4

data-files:         man/xmonad.hs, man/xmonad.1, man/xmonad.1.html

source-repository head
  type:     darcs
  location: http://code.haskell.org/xmonad

flag small_base
    description: Choose the new smaller, split-up base package.

flag testing
    description: Testing mode, only build minimal components
    default: False

library
    exposed-modules:    XMonad
                        XMonad.Main
                        XMonad.Core
                        XMonad.Config
                        XMonad.Layout
                        XMonad.ManageHook
                        XMonad.Operations
                        XMonad.StackSet

    if flag(small_base)
        build-depends: base < 5 && >=3, containers, directory, process, filepath, extensible-exceptions
    else
        build-depends: base < 3
    build-depends: X11>=1.5 && < 1.7, mtl, unix,
                   utf8-string >= 0.3 && < 0.4,
                   data-default

    if true
        ghc-options:        -funbox-strict-fields -Wall

    if impl(ghc >= 6.12.1)
        ghc-options:        -fno-warn-unused-do-bind

    ghc-prof-options:   -prof -auto-all
    extensions:         CPP

    if flag(testing)
        buildable: False

executable xmonad
    main-is:            Main.hs
    other-modules:      XMonad
                        XMonad.Main
                        XMonad.Core
                        XMonad.Config
                        XMonad.Layout
                        XMonad.ManageHook
                        XMonad.Operations
                        XMonad.StackSet

    if true 
        ghc-options:    -funbox-strict-fields -Wall

    if impl(ghc >= 6.12.1)
        ghc-options:    -fno-warn-unused-do-bind

    ghc-prof-options:   -prof -auto-all
    extensions:         CPP

    if flag(testing)
        cpp-options:    -DTESTING
        hs-source-dirs: . tests/
        build-depends:  QuickCheck < 2
        ghc-options:    -Werror
    if flag(testing) && flag(small_base)
        build-depends:  filepath, process, directory, mtl, unix, X11, base, containers, random, extensible-exceptions