YAML quoting
[darcs-mirror-arbtt.git] / arbtt.cabal
index 5064624..74f4281 100644 (file)
@@ -1,5 +1,5 @@
 name:               arbtt
-version:            0.7.1
+version:            0.9.0.9
 license:            GPL
 license-file:       LICENSE
 category:           Desktop
@@ -15,26 +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://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
+    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.* || == 4.7.*,
-        filepath, directory, transformers, time >= 1.4, utf8-string,
-        aeson == 0.6.* || == 0.7.*,
-        array == 0.4.* || == 0.5.*,
-        binary >= 0.5,
-        bytestring, deepseq, strict, old-locale
+                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
@@ -44,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
@@ -58,29 +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.5.* || == 4.6.* || == 4.7.*,
+        base >= 4.7 && < 4.10,
         parsec == 3.*,
         containers == 0.5.*,
-        pcre-light, old-locale,
+        pcre-light,
         binary >= 0.5,
-        deepseq, bytestring, utf8-string, time >= 1.4, strict,
-        transformers, unix, directory, filepath,
-        aeson == 0.6.* || == 0.7.*,
+        deepseq, bytestring, utf8-string, strict,
+        transformers, directory, filepath,
+        aeson >= 0.6  && < 0.12,
         array == 0.4.* || == 0.5.*,
-        terminal-progress-bar, bytestring-progress
+        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
@@ -94,7 +131,7 @@ executable arbtt-stats
         Text.Regex.PCRE.Light.Text
         TermSize
     ghc-options: -rtsopts
-    if os(windows) 
+    if os(windows)
         cpp-options:    -DWIN32
     else
         other-modules:
@@ -105,15 +142,23 @@ executable arbtt-dump
     main-is:            dump-main.hs
     hs-source-dirs:     src
     build-depends:
-        base == 4.5.* || == 4.6.* || == 4.7.*,
+        base >= 4.7 && < 4.10,
         parsec == 3.*,
         containers == 0.5.*,
-        aeson == 0.6.* || == 0.7.*,
+        aeson >= 0.6  && < 0.12,
         array == 0.4.* || == 0.5.*,
         binary >= 0.5,
-        deepseq, bytestring, utf8-string, time >= 1.4, strict,
-        transformers, unix, directory, filepath,
-        old-locale
+        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
@@ -123,7 +168,7 @@ executable arbtt-dump
         DumpFormat
         Data.List.TakeR
     ghc-options: -rtsopts
-    if os(windows) 
+    if os(windows)
         cpp-options:    -DWIN32
     else
         other-modules:
@@ -134,12 +179,21 @@ executable arbtt-import
     main-is:            import-main.hs
     hs-source-dirs:     src
     build-depends:
-        base == 4.5.* || == 4.6.* || == 4.7.*,
+        base >= 4.7 && < 4.10,
         parsec == 3.*,
         containers == 0.5.*,
         binary >= 0.5,
-        deepseq, bytestring, utf8-string, time >= 1.4, strict,
-        transformers, unix, directory, filepath
+        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
@@ -147,7 +201,7 @@ executable arbtt-import
         CommonStartup
         TimeLog
     ghc-options: -rtsopts
-    if os(windows) 
+    if os(windows)
         cpp-options:    -DWIN32
     else
         other-modules:
@@ -158,11 +212,20 @@ executable arbtt-recover
     main-is:            recover-main.hs
     hs-source-dirs:     src
     build-depends:
-        base == 4.5.* || == 4.6.* || == 4.7.*,
-        parsec == 3.*, containers == 0.5.*,
+        base >= 4.7 && < 4.10,
+        containers == 0.5.*,
         binary >= 0.5,
-        deepseq, bytestring, utf8-string, time >= 1.4, strict,
-        transformers, unix, directory, filepath
+        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
@@ -170,7 +233,7 @@ executable arbtt-recover
         CommonStartup
         TimeLog
     ghc-options: -rtsopts
-    if os(windows) 
+    if os(windows)
         cpp-options:    -DWIN32
     else
         other-modules:
@@ -186,23 +249,28 @@ test-suite test
   Main-is:
     test.hs
   Build-depends:
-      base == 4.5.* || == 4.6.* || == 4.7.*
-      , tasty == 0.7.*
-      , tasty-golden == 2.2.0.2
-      , tasty-hunit == 0.2.*
-      , HUnit == 1.2.*
-      , process-extras == 0.2.*
+      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
-      , time
-      , unix
       , directory
-      , parsec == 3.*,
+      , parsec == 3.*
       , containers == 0.5.*
-      , pcre-light, old-locale
+      , 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