name:               xmobar
version:            0.15
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

flag with_mpris
  description: MPRIS v1, v2 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
       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:
      unix,
      time,
      filepath,
      X11 == 1.5.*,
      mtl == 2.0.*,
      parsec == 3.1.*,
      stm == 2.2.*

    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 == 0.3.*, X11-xft >= 0.2 && < 0.4
       cpp-options: -DXFT

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

    if flag(with_inotify) || flag(all_extensions)
       build-depends: hinotify == 0.3.*
       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 && < 0.8
       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 == 0.1.*, timezone-series == 0.1.*
       other-modules: Plugins.DateZone
       cpp-options: -DDATEZONE

    if flag(with_mpris) || flag(all_extensions)
       build-depends: dbus-core >= 0.9.2.1, text >= 0.11.1.5 && < 0.12
       other-modules: Plugins.Monitors.Mpris
       cpp-options: -DMPRIS