summaryrefslogtreecommitdiffhomepage
path: root/xmobar.cabal
blob: da7d9e5a7813e10a3cff04c3f00c3611ff6b31aa (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
103
104
105
106
107
108
109
name:               xmobar
version:            0.11.1
homepage:           http://projects.haskell.org/xmobar/
bug-reports:        http://code.google.com/p/xmobar/issues
synopsis:           A Minimalistic Text Based Status Bar
description: 	    Xmobar is a minimalistic text based status bar.
		    .
                    Inspired by the Ion3 status bar, it supports similar
                    features, like dynamic color management, output templates,
                    and extensibility through plugins.
category:           System
license:            BSD3
license-file:       LICENSE
extra-source-files: README, NEWS
author:             Andrea Rossato
maintainer:         Jose A. Ortega Ruiz <jao@gnu.org>
cabal-version:      >= 1.6
build-type:         Simple

data-files:         xmobar.config-sample

source-repository head
  type:      git
  location:  git://github.com/jaor/xmobar.git
  branch:    master

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

flag with_xft
  description: Use Xft to render text. UTF-8 support included.
  default: False

flag with_utf8
  description: With UTF-8 support.
  default: True

flag with_inotify
  description: inotify support (modern Linux only). Required for the Mail and MBox plugins.
  default: False

flag with_iwlib
  description: Wireless info support. Required for the Wireless plugin, needs iwlib installed.
  default: False

flag with_mpd
  description: MPD support. Needs libmpd installed.
  default: False

flag all_extensions
  description: Includes all optional extensions.
  default: False

executable xmobar
    hs-source-dirs:     src
    main-is:            Main.hs
    other-modules:
      Xmobar, Config, Parsers, Commands, XUtil, StatFS, Runnable,
      Plugins, Plugins.CommandReader, Plugins.Date, Plugins.EWMH,
      Plugins.PipeReader, Plugins.StdinReader, Plugins.XMonadLog,
      Plugins.Utils, Plugins.Monitors, Plugins.Monitors.Batt,
      Plugins.Monitors.Common, Plugins.Monitors.CoreCommon,
      Plugins.Monitors.CoreTemp, Plugins.Monitors.CpuFreq,
      Plugins.Monitors.Cpu, Plugins.Monitors.Disk, Plugins.Monitors.Mem,
      Plugins.Monitors.MultiCpu, Plugins.Monitors.Net,
      Plugins.Monitors.Swap, Plugins.Monitors.Thermal, Plugins.Monitors.Top,
      Plugins.Monitors.Uptime, Plugins.Monitors.Weather

    ghc-prof-options:   -prof -auto-all

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

    if impl (ghc == 6.10.1) && arch (x86_64)
       ghc-options: -O0

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

    build-depends: X11>=1.3.0, mtl, unix, parsec, filepath, stm, time

    if flag(small_base)
       build-depends: base == 4.*, containers, process, old-time, old-locale, bytestring, directory

    else
       build-depends: base < 3

    if flag(with_xft) || flag(all_extensions)
       build-depends: utf8-string, X11-xft >= 0.2
       cpp-options: -DXFT

    if flag(with_utf8) || flag(all_extensions)
       build-depends: utf8-string
       cpp-options: -DUTF8

    if flag(with_inotify) || flag(all_extensions)
       build-depends: hinotify
       other-modules: Plugins.Mail, Plugins.MBox
       cpp-options: -DINOTIFY

    if flag(with_iwlib) || flag(all_extensions)
       extra-libraries: iw
       other-modules: IWlib, Plugins.Monitors.Wireless
       cpp-options: -DIWLIB

    if flag(with_mpd) || flag(all_extensions)
       build-depends: libmpd >= 0.5
       other-modules: Plugins.Monitors.MPD
       cpp-options: -DLIBMPD