packages feed

taffybar-4.1.2: taffybar.cabal

cabal-version: 3.4
name: taffybar
version: 4.1.2
synopsis: A desktop bar similar to xmobar, but with more GUI
license: BSD-3-Clause
license-file: LICENSE
author: Ivan Malison
maintainer: IvanMalison@gmail.com
category: System
build-type: Simple
tested-with: GHC == 9.8.4, GHC == 9.10.3, GHC == 9.12.3
homepage: http://github.com/taffybar/taffybar
data-files:
  taffybar.css
  icons/*.svg
extra-source-files:
  dbus-xml/org.PulseAudio.ServerLookup1.xml
  dbus-xml/org.PulseAudio.Core1.xml
  dbus-xml/org.PulseAudio.Core1.Device.xml
  dbus-xml/org.freedesktop.UPower.Device.xml
  dbus-xml/org.freedesktop.UPower.xml
  dbus-xml/org.mpris.MediaPlayer2.Player.xml
  dbus-xml/org.mpris.MediaPlayer2.xml
  dbus-xml/org.freedesktop.NetworkManager.xml
  dbus-xml/org.freedesktop.NetworkManager.Connection.Active.xml
  dbus-xml/org.freedesktop.NetworkManager.AccessPoint.xml
  test/data/*.golden
  test/data/*.png
  test/data/appearance-test.css
extra-doc-files:
  README.md
  CHANGELOG.md
  doc/*.md

flag Deprecated-Pager-Hints
  description: Enables the deprecated System.Taffybar.Support.PagerHints module, which has been moved to xmonad-contrib.

common haskell
  default-extensions:
    DeriveGeneric
    GeneralizedNewtypeDeriving
    LambdaCase
    NumericUnderscores
    ScopedTypeVariables
    StandaloneDeriving
    TupleSections
  default-language: Haskell2010
  build-depends: base >= 4.15.0.0 && < 5
  ghc-options: -Wall

common exe
  ghc-options: -rtsopts -threaded

library
  import: haskell
  default-extensions:
    MonoLocalBinds

  build-depends: HStringTemplate >= 0.8 && < 0.9
               , X11 >= 1.5.0.1
               , aeson
               , ansi-terminal
               , bytestring
               , conduit
               , containers
               , data-default
               , dbus >= 1.2.11 && < 2.0.0
               , dbus-hslogger >= 0.1.1.0 && < 0.2.0.0
               , dbus-menu >= 0.1.0.0
               , directory
               , disk-free-space >= 0.1.0.1
               , dyre >= 0.9.0 && < 0.10
               , either >= 4.0.0.0
               , enclosed-exceptions >= 1.0.0.1
               , filepath
               , fsnotify >= 0.4 && < 0.5
               , monad-control
               , gi-cairo-connector
               , gi-cairo-render
                , gi-gdk3 >=3.0.30 && <3.1
               , gi-gdkpixbuf >=2.0.6 && <2.1
               , gi-gdkx113 >=3.0.17 && < 4
               , gi-glib
               , gi-gtk-layer-shell >= 0.1.7
               , gi-gtk3 >= 3.0.44 && < 4
               , gi-gtk-hs >= 0.3.17 && < 0.4
               , gi-pango
               , gtk-sni-tray >= 0.1.8.0
               , gtk-strut >= 0.1.2.1
               , haskell-gi-base >= 0.24
               , hslogger
               , http-conduit
               , http-client >= 0.5
               , http-client-tls
               , http-types
               , multimap >= 1.2.1
               , network
               , parsec >= 3.1
               , process >= 1.0.1.1
               , rate-limit >= 1.1.1
               , regex-compat
               , safe >= 0.3 && < 1
               , scotty >= 0.20 && < 0.31
               , split >= 0.1.4.2
               , status-notifier-item >= 0.3.1.0
               , stm
               , template-haskell
               , text
               , time >= 1.9 && < 2.0
               , time-locale-compat >= 0.1 && < 0.2
               , time-units >= 1.0.0
               , transformers >= 0.3.0.0
               , tuple >= 0.3.0.2
               , unix
               , utf8-string
               , xdg-desktop-entry
               , xdg-basedir >= 0.2 && < 0.3
               , xml
               , xml-helpers
               , yaml

  hs-source-dirs: src
  pkgconfig-depends: gtk+-3.0
  if os(linux)
    pkgconfig-depends: libudev
  exposed-modules: System.Taffybar
                 , System.Taffybar.Auth
                 , System.Taffybar.Context
                 , System.Taffybar.Context.Backend
                 , System.Taffybar.DBus
                 , System.Taffybar.DBus.Toggle
                 , System.Taffybar.Example
                 , System.Taffybar.Hyprland
                 , System.Taffybar.Hooks
                 , System.Taffybar.Information.Hyprland
                 , System.Taffybar.Information.PulseAudio
                 , System.Taffybar.Information.WirePlumber
                 , System.Taffybar.Information.Backlight
                 , System.Taffybar.Information.Battery
                 , System.Taffybar.Information.Bluetooth
                 , System.Taffybar.Information.CPU
                 , System.Taffybar.Information.CPU2
                 , System.Taffybar.Information.Chrome
                 , System.Taffybar.Information.Crypto
                 , System.Taffybar.Information.DiskIO
                 , System.Taffybar.Information.DiskUsage
                 , System.Taffybar.Information.EWMHDesktopInfo
                 , System.Taffybar.Information.Inhibitor
                 , System.Taffybar.Information.KeyboardState
                 , System.Taffybar.Information.MPRIS2
                 , System.Taffybar.Information.Memory
                 , System.Taffybar.Information.Network
                 , System.Taffybar.Information.Temperature
                 , System.Taffybar.Information.NetworkManager
                 , System.Taffybar.Information.PowerProfiles
                 , System.Taffybar.Information.Privacy
                 , System.Taffybar.Information.SafeX11
                 , System.Taffybar.Information.Systemd
                 , System.Taffybar.Information.StreamInfo
                 , System.Taffybar.Information.X11DesktopInfo
                 , System.Taffybar.Information.XDG.Protocol
                 , System.Taffybar.LogFormatter
                 , System.Taffybar.LogLevels
                 , System.Taffybar.SimpleConfig
                 , System.Taffybar.Util
                 , System.Taffybar.Widget
                 , System.Taffybar.Widget.PulseAudio
                 , System.Taffybar.Widget.Backlight
                 , System.Taffybar.Widget.Battery
                 , System.Taffybar.Widget.BatteryDonut
                 , System.Taffybar.Widget.BatteryTextIcon
                 , System.Taffybar.Widget.Bluetooth
                 , System.Taffybar.Widget.CPUMonitor
                 , System.Taffybar.Widget.CommandRunner
                 , System.Taffybar.Widget.Crypto
                 , System.Taffybar.Widget.DiskIOMonitor
                 , System.Taffybar.Widget.DiskUsage
                 , System.Taffybar.Widget.FSMonitor
                 , System.Taffybar.Widget.FreedesktopNotifications
                 , System.Taffybar.Widget.Generic.AutoFillImage
                 , System.Taffybar.Widget.Generic.AutoSizeImage
                 , System.Taffybar.Widget.Generic.ChannelGraph
                 , System.Taffybar.Widget.Generic.ChannelWidget
                 , System.Taffybar.Widget.Generic.DynamicMenu
                 , System.Taffybar.Widget.Generic.Graph
                 , System.Taffybar.Widget.Generic.Icon
                 , System.Taffybar.Widget.Generic.ScalingImage
                 , System.Taffybar.Widget.Generic.PollingBar
                 , System.Taffybar.Widget.Generic.PollingGraph
                 , System.Taffybar.Widget.Generic.PollingLabel
                 , System.Taffybar.Widget.Generic.VerticalBar
                 , System.Taffybar.Widget.HyprlandLayout
                 , System.Taffybar.Widget.HyprlandWindows
                 , System.Taffybar.Widget.Inhibitor
                 , System.Taffybar.Widget.KeyboardState
                 , System.Taffybar.Widget.Layout
                 , System.Taffybar.Widget.MPRIS2
                 , System.Taffybar.Widget.NetworkGraph
                 , System.Taffybar.Widget.NetworkManager
                 , System.Taffybar.Widget.PowerProfiles
                 , System.Taffybar.Widget.Privacy
                 , System.Taffybar.Widget.SNIMenu
                 , System.Taffybar.Widget.SNITray
                 , System.Taffybar.Widget.SimpleClock
                 , System.Taffybar.Widget.SimpleCommandButton
                 , System.Taffybar.Widget.Systemd
                 , System.Taffybar.Widget.Temperature
                 , System.Taffybar.Widget.Text.CPUMonitor
                 , System.Taffybar.Widget.Text.MemoryMonitor
                 , System.Taffybar.Widget.Text.NetworkMonitor
                 , System.Taffybar.Widget.Util
                 , System.Taffybar.Widget.Weather
                 , System.Taffybar.Widget.HyprlandWorkspaces
                 , System.Taffybar.Widget.Windows
                 , System.Taffybar.Widget.Workspaces
                 , System.Taffybar.Widget.Workspaces.Shared
                 , System.Taffybar.Widget.WirePlumber
                 , System.Taffybar.Widget.WttrIn
                 , System.Taffybar.Widget.XDGMenu.Menu
                 , System.Taffybar.Widget.XDGMenu.MenuWidget
                 , System.Taffybar.WindowIcon

  if flag(Deprecated-Pager-Hints)
    build-depends: xmonad
    exposed-modules: System.Taffybar.Support.PagerHints

  other-modules: Paths_taffybar
               , System.Taffybar.DBus.Client.MPRIS2
               , System.Taffybar.DBus.Client.NetworkManager
               , System.Taffybar.DBus.Client.NetworkManagerAccessPoint
               , System.Taffybar.DBus.Client.NetworkManagerActiveConnection
               , System.Taffybar.DBus.Client.Params
               , System.Taffybar.DBus.Client.PulseAudioCore
               , System.Taffybar.DBus.Client.PulseAudioDevice
               , System.Taffybar.DBus.Client.PulseAudioServerLookup
               , System.Taffybar.DBus.Client.UPower
               , System.Taffybar.DBus.Client.UPowerDevice
               , System.Taffybar.DBus.Client.Util
               , System.Taffybar.Information.Udev

  autogen-modules: Paths_taffybar

  cc-options: -fPIC
  ghc-options: -funbox-strict-fields -fno-warn-orphans

executable taffybar
  import: haskell, exe
  build-depends: data-default
               , directory
               , hslogger
               , optparse-applicative
               , taffybar

  other-modules: Paths_taffybar
  autogen-modules: Paths_taffybar

  hs-source-dirs: app
  main-is: Main.hs
  pkgconfig-depends: gtk+-3.0

executable taffybar-test-wm
  import: haskell, exe
  hs-source-dirs: app
  main-is: TestWM.hs
  build-depends: xmonad
               , xmonad-contrib

executable taffybar-appearance-snap
  import: haskell, exe
  hs-source-dirs: app
  main-is: AppearanceSnap.hs
  build-depends: JuicyPixels
               , X11
               , bytestring
               , data-default
               , directory
               , filepath
               , gi-gdk3
               , gi-gdkpixbuf
               , gi-gtk3
               , gtk-strut
               , taffybar
               , text
               , transformers
               , typed-process
               , unix
               , unliftio

executable taffybar-appearance-snap-hyprland
  import: haskell, exe
  hs-source-dirs: app
  main-is: AppearanceSnapHyprland.hs
  build-depends: JuicyPixels
               , bytestring
               , data-default
               , directory
               , filepath
               , gi-gtk3
               , gtk-strut
               , taffybar
               , text
               , typed-process
               , unix
               , unliftio
               , transformers

common test
  default-extensions:
    ImportQualifiedPost
    NamedFieldPuns
    RecordWildCards
    OverloadedStrings
    ScopedTypeVariables
  ghc-options: -fno-warn-orphans

library testlib
  import: haskell, test
  hs-source-dirs: test/lib
  exposed-modules: TestLibSpec
                 , System.Taffybar.Test.DBusSpec
                 , System.Taffybar.Test.UtilSpec
                 , System.Taffybar.Test.XvfbSpec
  build-depends: attoparsec
               , bytestring
               , containers
               , data-default
               , dbus
               , extra
               , filepath
               , hslogger
               , hspec
               , taffybar
               , text
               , typed-process
               , unix
               , unliftio
               , unliftio-core
               , QuickCheck >= 2
  build-tool-depends: hspec-discover:hspec-discover == 2.*

test-suite unit
  import: haskell, test, exe
  type: exitcode-stdio-1.0
  hs-source-dirs: test/unit
  main-is: unit-tests.hs
  other-modules: UnitSpec
               , System.Taffybar.AuthSpec
               , System.Taffybar.AppearanceSpec
               , System.Taffybar.ContextSpec
               , System.Taffybar.Information.X11DesktopInfoSpec
               , System.Taffybar.SimpleConfigSpec
               , System.Taffybar.Widget.HyprlandWorkspacesSpec
  build-depends: data-default
               , bytestring
               , directory
               , JuicyPixels
               , filepath
               , text
               , gi-gtk3
               , hspec
               , hspec-core
               , hspec-golden
               , taffybar
               , taffybar:testlib
               , typed-process
               , unix
               , unliftio
               , transformers
               , QuickCheck
  build-tool-depends: hspec-discover:hspec-discover == 2.*
                   , taffybar:taffybar-test-wm
                   , taffybar:taffybar-appearance-snap

source-repository head
  type: git
  location: http://github.com/taffybar/taffybar.git