YAML quoting
[darcs-mirror-arbtt.git] / arbtt.cabal
index 8869827..74f4281 100644 (file)
@@ -1,13 +1,13 @@
 name:               arbtt
-version:            0.7
+version:            0.9.0.9
 license:            GPL
 license-file:       LICENSE
 category:           Desktop
-cabal-version:      >= 1.6
+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-2010
+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
@@ -15,25 +15,42 @@ description:
     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://www.joachim-breitner.de/projects#arbtt
-
-
+homepage:           http://arbtt.nomeata.de/
+bug-reports:        https://bitbucket.org/nomeata/arbtt/issues
 extra-source-files:
-    categorize.cfg, arbtt-capture.desktop, README,
+    categorize.cfg, arbtt-capture.desktop, README.md,
     doc/arbtt.xml, doc/fptools.css, doc/Makefile,
-    setup.iss, modpath.iss
+    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.5.* || == 4.6.*,
-        filepath, directory, transformers, time >= 1.4, utf8-string,
-        bytestring, binary, deepseq, strict,
-        terminal-progress-bar, bytestring-progress
+                base >= 4.7 && < 4.10,
+                filepath, directory, transformers, utf8-string,
+                aeson >= 0.6  && < 0.12,
+                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
@@ -43,10 +60,13 @@ executable arbtt-capture
         TimeLog
         UpgradeLog1
         LeftFold
-    
+
     ghc-options: -rtsopts
 
-    if os(windows) 
+    if !os(windows)
+        build-depends: unix
+
+    if os(windows)
         extra-libraries: psapi
         cpp-options:    -DWIN32
         ghc-options:    -optl-mwindows
@@ -57,19 +77,47 @@ executable arbtt-capture
         build-depends:
              Win32
     else
-        extra-libraries: Xss
-        other-modules:
-            Capture.X11
-            Graphics.X11.XScreenSaver
-            System.Locale.SetLocale
-        build-depends:
-            X11 > 1.4.4, unix
+        if os(darwin)
+            cpp-options:    -DDARWIN
+            frameworks: Foundation Carbon IOKit
+            other-modules:
+                Capture.OSX
+                Graphics.OSX.Window
+                System.Locale.SetLocale
+        else
+            extra-libraries: Xss
+            other-modules:
+                Capture.X11
+                Graphics.X11.XScreenSaver
+                System.Locale.SetLocale
+            build-depends:
+                X11 > 1.4.4
+    default-language: Haskell98
 
 executable arbtt-stats
     main-is:            stats-main.hs
     hs-source-dirs:     src
     build-depends:
-        base == 4.*, parsec == 3.*, containers, pcre-light, old-locale
+        base >= 4.7 && < 4.10,
+        parsec == 3.*,
+        containers == 0.5.*,
+        pcre-light,
+        binary >= 0.5,
+        deepseq, bytestring, utf8-string, strict,
+        transformers, directory, filepath,
+        aeson >= 0.6  && < 0.12,
+        array == 0.4.* || == 0.5.*,
+        terminal-progress-bar,
+        bytestring-progress
+
+    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
@@ -81,36 +129,71 @@ executable arbtt-stats
         Text.Parsec.ExprFail
         Text.ParserCombinators.Parsec.ExprFail
         Text.Regex.PCRE.Light.Text
+        TermSize
     ghc-options: -rtsopts
-    if os(windows) 
+    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.*, parsec == 3.*, containers
+        base >= 4.7 && < 4.10,
+        parsec == 3.*,
+        containers == 0.5.*,
+        aeson >= 0.6  && < 0.12,
+        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) 
+    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.*, parsec == 3.*, containers
+        base >= 4.7 && < 4.10,
+        parsec == 3.*,
+        containers == 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
@@ -118,17 +201,31 @@ executable arbtt-import
         CommonStartup
         TimeLog
     ghc-options: -rtsopts
-    if os(windows) 
+    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.*, parsec == 3.*, containers
+        base >= 4.7 && < 4.10,
+        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
@@ -136,11 +233,45 @@ executable arbtt-recover
         CommonStartup
         TimeLog
     ghc-options: -rtsopts
-    if os(windows) 
+    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
+  Build-depends:
+      base >= 4.7 && < 4.10
+      , tasty >= 0.7 && < 0.12
+      , tasty-golden >= 2.2.0.2  && <= 2.4
+      , tasty-hunit >= 0.2  && < 0.11
+      , process-extras == 0.2.* || == 0.3.* || == 0.4.*
+      , deepseq
+      , binary >= 0.5
+      , bytestring
+      , utf8-string
+      , directory
+      , parsec == 3.*
+      , containers == 0.5.*
+      , pcre-light
+      , transformers
+
+  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:     darcs