YAML quoting
[darcs-mirror-arbtt.git] / arbtt.cabal
index 48d8eca..74f4281 100644 (file)
@@ -1,5 +1,5 @@
 name:               arbtt
-version:            0.8.1.4
+version:            0.9.0.9
 license:            GPL
 license-file:       LICENSE
 category:           Desktop
@@ -23,23 +23,34 @@ description:
     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.5.* || == 4.6.* || == 4.7.*,
-        filepath, directory, transformers, time >= 1.4, utf8-string,
-        aeson == 0.6.* || == 0.7.* || == 0.8.*,
-        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
@@ -52,6 +63,9 @@ executable arbtt-capture
 
     ghc-options: -rtsopts
 
+    if !os(windows)
+        build-depends: unix
+
     if os(windows)
         extra-libraries: psapi
         cpp-options:    -DWIN32
@@ -63,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.* || == 0.8.*,
+        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
@@ -110,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.* || == 0.8.*,
+        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
@@ -139,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
@@ -163,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
@@ -191,23 +249,28 @@ test-suite test
   Main-is:
     test.hs
   Build-depends:
-      base == 4.5.* || == 4.6.* || == 4.7.*
-      , tasty >= 0.7 && < 0.11
-      , tasty-golden >= 2.2.0.2  && <= 2.3
+      base >= 4.7 && < 4.10
+      , tasty >= 0.7 && < 0.12
+      , tasty-golden >= 2.2.0.2  && <= 2.4
       , tasty-hunit >= 0.2  && < 0.11
-      , HUnit == 1.2.*
-      , process-extras == 0.2.* || == 0.3.*
+      , process-extras == 0.2.* || == 0.3.* || == 0.4.*
       , deepseq
       , binary >= 0.5
       , bytestring
       , utf8-string
-      , time
-      , unix
       , directory
       , 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