summaryrefslogtreecommitdiffhomepage
path: root/xmobar.cabal
blob: 99a6bebfd21f94df11351557db53820239d9d01b (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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
name:               xmobar
version:            0.14
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
author:             Andrea Rossato
maintainer:         Jose A. Ortega Ruiz <jao@gnu.org>
cabal-version:      >= 1.6
build-type:         Simple

extra-source-files: README, NEWS,
                    samples/xmobar.config, samples/xmonadpropwrite.hs
                    samples/Plugins/helloworld.config,
                    samples/Plugins/HelloWorld.hs

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

flag with_alsa
  description: Use alsa-mixer to get the volume from soundcards.
  default: False

flag with_datezone
  description: Enables localized date support
  default: False

executable xmobar
    hs-source-dirs:     src
    main-is:            Main.hs
    other-modules:
      Xmobar, Config, Parsers, Commands, Localize, XUtil, StatFS, Runnable,
      Plugins, Plugins.CommandReader, Plugins.Date, Plugins.EWMH,
      Plugins.PipeReader, Plugins.StdinReader, Plugins.XMonadLog,
      Plugins.Utils, Plugins.Kbd, 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.ThermalZone, Plugins.Monitors.Top,
      Plugins.Monitors.Uptime, Plugins.Monitors.Weather,
      Plugins.Monitors.Bright

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

    if true
       ghc-options: -funbox-strict-fields -Wall -threaded
       extra-libraries: Xrandr

    -- Use --disable-optimization configure flag
    -- 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

    --  for instance declaration in src/Plugins/Monitors/CoreCommon.hs
    if impl (ghc < 7)
       cpp-options: -DGHC6

    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.6
       other-modules: Plugins.Monitors.MPD
       cpp-options: -DLIBMPD

    if flag(with_alsa) || flag(all_extensions)
       build-depends: alsa-mixer == 0.1.*
       build-depends: alsa-core == 0.5.*
       other-modules: Plugins.Monitors.Volume
       cpp-options: -DALSA

    if flag(with_datezone) || flag(all_extensions)
       build-depends: timezone-olson, timezone-series
       other-modules: Plugins.DateZone
       cpp-options: -DDATEZONE