packages feed

arbtt-0.10: arbtt.cabal

name:               arbtt
version:            0.10
license:            GPL
license-file:       LICENSE
category:           Desktop
cabal-version:      >= 1.10
build-type:         Simple
author:             Joachim Breitner <mail@joachim-breitner.de>
maintainer:         Joachim Breitner <mail@joachim-breitner.de>
copyright:          Joachim Breitner 2009-2013
synopsis:           Automatic Rule-Based Time Tracker
description:
    arbtt is a background daemon that stores which windows are open, which one
    has the focus and how long since your last action (and possbly more sources
    later), and stores this. It is also a program that will, based on
    expressive rules you specify, derive what you were doing, and what for.
    .
    The documentation, which includes the changelog, can also be found at
    <http://arbtt.nomeata.de/doc/users_guide/>.
    .
    WARNING: The log file might contain very sensitive private data. Make sure
    you understand the consequences of a full-time logger and be careful with this
    data.
homepage:           http://arbtt.nomeata.de/
bug-reports:        https://bitbucket.org/nomeata/arbtt/issues
extra-source-files:
    categorize.cfg, arbtt-capture.desktop, README.md,
    doc/arbtt.xml, doc/fptools.css, doc/Makefile,
    setup.iss, modpath.iss,
    tests/*.log, tests/*.out, tests/*.in, tests/*.cfg

flag old-locale
  description:
    If false then depend on time >= 1.5.
    .
    If true then depend on time < 1.5 together with old-locale.
  default: False

executable arbtt-capture
    main-is:            capture-main.hs
    hs-source-dirs:     src
    build-depends:
                base >= 4.7 && < 4.11,
                filepath, directory, transformers, utf8-string, strict, containers,
                aeson >= 0.6  && < 1.3,
                binary >= 0.5,
                bytestring, deepseq

    if flag(old-locale)
        build-depends: time == 1.4.*, old-locale
    else
        build-depends: time >= 1.5

    other-modules:
        Data
        Data.MyText
        Data.Binary.StringRef
        CommonStartup
        Capture
        TimeLog
        UpgradeLog1
        LeftFold
        LockFile

    ghc-options: -rtsopts

    if !os(windows)
        build-depends: unix

    if os(windows)
        extra-libraries: psapi
        cpp-options:    -DWIN32
        ghc-options:    -optl-mwindows
        other-modules:
            Capture.Win32
            Graphics.Win32.Window.Extra
            System.Win32.Mutex
        build-depends:
             Win32
    else
        if os(darwin)
            cpp-options:    -DDARWIN
            frameworks: Foundation Carbon IOKit
            other-modules:
                Capture.OSX
                Graphics.OSX.Window
                System.Locale.SetLocale
        else
            other-modules:
                Capture.X11
                System.Locale.SetLocale
            build-depends:
                X11 > 1.6.1
    default-language: Haskell98

executable arbtt-stats
    main-is:            stats-main.hs
    hs-source-dirs:     src
    build-depends:
        base >= 4.7 && < 4.11,
        parsec == 3.*,
        containers == 0.5.*,
        pcre-light,
        binary >= 0.5,
        deepseq, bytestring, utf8-string, strict,
        transformers, directory, filepath,
        aeson >= 0.6  && < 1.3,
        array == 0.4.* || == 0.5.*,
        terminal-progress-bar,
        bytestring-progress,
        mtl

    if !os(windows)
        build-depends: unix

    if flag(old-locale)
        build-depends: time == 1.4.*, old-locale
    else
        build-depends: time >= 1.5

    other-modules:
        Data
        Data.MyText
        Data.Binary.StringRef
        DumpFormat
        LeftFold
        CommonStartup
        Categorize
        TimeLog
        Stats
        Text.Parsec.ExprFail
        Text.ParserCombinators.Parsec.ExprFail
        Text.Regex.PCRE.Light.Text
        TermSize
    ghc-options: -rtsopts
    if os(windows)
        cpp-options:    -DWIN32
    else
        other-modules:
            System.Locale.SetLocale
    default-language: Haskell98

executable arbtt-dump
    main-is:            dump-main.hs
    hs-source-dirs:     src
    build-depends:
        base >= 4.7 && < 4.11,
        parsec == 3.*,
        containers == 0.5.*,
        aeson >= 0.6  && < 1.3,
        array == 0.4.* || == 0.5.*,
        binary >= 0.5,
        deepseq, bytestring, utf8-string, strict,
        transformers, directory, filepath

    if !os(windows)
        build-depends: unix

    if flag(old-locale)
        build-depends: time == 1.4.*, old-locale
    else
        build-depends: time >= 1.5

    other-modules:
        Data
        Data.MyText
        Data.Binary.StringRef
        CommonStartup
        TimeLog
        DumpFormat
        Data.List.TakeR
    ghc-options: -rtsopts
    if os(windows)
        cpp-options:    -DWIN32
    else
        other-modules:
            System.Locale.SetLocale
    default-language: Haskell98

executable arbtt-import
    main-is:            import-main.hs
    hs-source-dirs:     src
    build-depends:
        base >= 4.7 && < 4.11,
        parsec == 3.*,
        containers == 0.5.*,
        binary >= 0.5,
        aeson >= 0.6  && < 1.3,
        conduit == 1.2.*,
        conduit-extra == 1.2.*,
        exceptions == 0.8.*,
        attoparsec == 0.13.*,
        deepseq, bytestring, utf8-string, strict,
        transformers, directory, filepath

    if !os(windows)
        build-depends: unix

    if flag(old-locale)
        build-depends: time == 1.4.*, old-locale
    else
        build-depends: time >= 1.5

    other-modules:
        Data
        Data.MyText
        Data.Binary.StringRef
        CommonStartup
        TimeLog
        LockFile
    ghc-options: -rtsopts
    if os(windows)
        cpp-options:    -DWIN32
    else
        other-modules:
            System.Locale.SetLocale
    default-language: Haskell98

executable arbtt-recover
    main-is:            recover-main.hs
    hs-source-dirs:     src
    build-depends:
        base >= 4.7 && < 4.11,
        containers == 0.5.*,
        binary >= 0.5,
        deepseq, bytestring, utf8-string,
        directory, filepath

    if !os(windows)
        build-depends: unix

    if flag(old-locale)
        build-depends: time == 1.4.*, old-locale
    else
        build-depends: time >= 1.5

    other-modules:
        Data
        Data.MyText
        Data.Binary.StringRef
        CommonStartup
        TimeLog
    ghc-options: -rtsopts
    if os(windows)
        cpp-options:    -DWIN32
    else
        other-modules:
            System.Locale.SetLocale
    default-language: Haskell98

test-suite test
  Type:
    exitcode-stdio-1.0
  Hs-source-dirs:
    tests
    src
  Main-is:
    test.hs
  other-modules:
    Categorize
    Data
    Data.Binary.StringRef
    Data.MyText
    Text.Parsec.ExprFail
    Text.Regex.PCRE.Light.Text
    TimeLog
  Build-depends:
      base >= 4.7 && < 4.11
      , tasty >= 0.7 && < 0.13
      , tasty-golden >= 2.2.0.2  && < 2.4
      , tasty-hunit >= 0.2  && < 0.11
      , process-extras >= 0.2 && < 0.8
      , deepseq
      , binary >= 0.5
      , bytestring
      , utf8-string
      , directory
      , parsec == 3.*
      , containers == 0.5.*
      , pcre-light
      , transformers
      , mtl

  if !os(windows)
    build-depends: unix

  if flag(old-locale)
        build-depends: time == 1.4.*, old-locale
  else
        build-depends: time >= 1.5
  default-language: Haskell98

source-repository head
  type:     git
  location: https://github.com/nomeata/arbtt