]> gitweb.michael.orlitzky.com - dead/htsn.git/blobdiff - htsn.cabal
Bump to v0.1.1 and allow >= network-2.6.
[dead/htsn.git] / htsn.cabal
index 3aeab950d6327fe52b2f8bbc9ec630d4e90cad15..528851b5c3aefaf648efd2e87d0b99004f638779 100644 (file)
@@ -1,5 +1,5 @@
 name:           htsn
-version:        0.0.1
+version:        0.1.1
 cabal-version:  >= 1.8
 author:         Michael Orlitzky
 maintainer:    Michael Orlitzky <michael@orlitzky.com>
@@ -8,7 +8,11 @@ license:        GPL-3
 license-file:   doc/LICENSE
 build-type:     Simple
 extra-source-files:
-  doc/man1/htsn.1 test/xml/*.xml
+  doc/htsnrc.example
+  doc/man1/htsn.1
+  doc/init.openrc
+  test/shell/*.test
+  test/xml/*.xml
 synopsis:
   Parse XML files from The Sports Network feed.
 description:
@@ -86,7 +90,7 @@ description:
   .
   If you specify a file here, logs will be written to it (possibly in
   addition to syslog). Can be either a relative or absolute path. It
-  will not be auto-rotated; use something log logrotate for that.
+  will not be auto-rotated; use something like logrotate for that.
   .
   Default: none
   .
@@ -94,10 +98,11 @@ description:
   \--log-level
   @
   .
-  How verbose should the logs be? We log notifications at three levels:
-  INFO, WARN, and ERROR. Specify the "most boring" level of
+  How verbose should the logs be? We log notifications at four levels:
+  DEBUG, INFO, WARN, and ERROR. Specify the \"most boring\" level of
   notifications you would like to receive (in all-caps); more
-  interesting notifications will be logged as well.
+  interesting notifications will be logged as well. The debug output is
+  extremely verbose and will not be written to syslog even if you try.
   .
   Default: INFO
   .
@@ -126,7 +131,11 @@ description:
   (Daemon mode only) Create a PID file in the given location. This is
   used by the init system on Unix to keep track of the running daemon.
   .
-  Default: \/run\/htsn.pid
+  If necessary, its parent directory will be created with owner/group
+  set to the appropriate user/group, but at most one directory will
+  be created (that is, we won't create an entire directory tree).
+  .
+  Default: \/run\/htsn\/htsn.pid
   .
   @
   \--run-as-group
@@ -179,35 +188,39 @@ description:
   /Configuration File/:
   .
   Any of the command-line options mentioned above can be specified in a
-  configuration file instead. We look for a file named ".htsnrc"
-  in the user's home directory; its syntax is given by examples in the
-  htsnrc.example file (included with /htsn/).
+  configuration file instead. We first look for \"htsnrc\" in the
+  system configuration directory. We then look for a file named
+  \".htsnrc\" in the user's home directory. The latter will override
+  the former.
+  .
+  The user's home directory is simply $HOME on Unix; on Windows it's
+  wherever %APPDATA% points. The system configuration directory
+  is determined by Cabal; the /sysconfdir/ parameter during
+  the \"configure\" step is used.
   .
-  If you are using the @--run-as-user@ option, that means that
-  the configuration file will need to go in that user's home directory
-  (and not, for example, root's).
+  The file's syntax is given by examples in the htsnrc.example file
+  (included with /htsn/).
   .
-  Options specified on the command-line override those in the
+  Options specified on the command-line override those in either
   configuration file.
 
 
 executable htsn
   build-depends:
-    ansi-terminal               == 0.6.*,
-    base                        == 4.*,
+    base                        >= 4.6 && < 5,
     cmdargs                     >= 0.10.6,
-    configurator                == 0.2.*,
-    directory                   == 1.2.*,
-    filepath                    == 1.3.*,
-    hdaemonize                  == 0.4.*,
-    hslogger                    == 1.2.*,
-    hxt                         == 9.3.*,
-    MissingH                    == 1.2.*,
-    network                     == 2.4.*,
-    tasty                       == 0.5.*,
-    tasty-hunit                 == 0.4.*,
-    transformers                == 0.3.*,
-    unix                        == 2.6.*
+    configurator                >= 0.2,
+    directory                   >= 1.2,
+    filepath                    >= 1.3,
+    hdaemonize                  >= 0.4,
+    hslogger                    >= 1.2,
+    htsn-common                 >= 0.0.2,
+    hxt                         >= 9.3,
+    MissingH                    >= 1.2,
+    network                     >= 2.4,
+    tasty                       >= 0.8,
+    tasty-hunit                 >= 0.8,
+    unix                        >= 2.6
 
   main-is:
     Main.hs
@@ -219,12 +232,10 @@ executable htsn
     CommandLine
     Configuration
     ExitCodes
-    Logging
+    FeedHosts
     OptionalConfiguration
-    Terminal
-    TSN.FeedHosts
-    TSN.Xml
     Unix
+    Xml
 
   ghc-options:
     -Wall
@@ -237,16 +248,12 @@ executable htsn
     -fwarn-incomplete-record-updates
     -fwarn-monomorphism-restriction
     -fwarn-unused-do-bind
-    -rtsopts
-    -threaded
-    -optc-O3
-    -optc-march=native
     -O2
 
   ghc-prof-options:
     -prof
-    -auto-all
-    -caf-all
+    -fprof-auto
+    -fprof-cafs
 
 
 
@@ -255,21 +262,57 @@ test-suite testsuite
   hs-source-dirs: src test
   main-is: TestSuite.hs
   build-depends:
-    ansi-terminal               == 0.6.*,
-    base                        == 4.*,
+    base                        >= 4.6 && < 5,
+    cmdargs                     >= 0.10.6,
+    configurator                >= 0.2,
+    directory                   >= 1.2,
+    filepath                    >= 1.3,
+    hdaemonize                  >= 0.4,
+    hslogger                    >= 1.2,
+    htsn-common                 >= 0.0.2,
+    hxt                         >= 9.3,
+    MissingH                    >= 1.2,
+    network                     >= 2.4,
+    tasty                       >= 0.8,
+    tasty-hunit                 >= 0.8,
+    unix                        >= 2.6
+  -- It's not entirely clear to me why I have to reproduce all of this.
+  ghc-options:
+    -Wall
+    -fwarn-hi-shadowing
+    -fwarn-missing-signatures
+    -fwarn-name-shadowing
+    -fwarn-orphans
+    -fwarn-type-defaults
+    -fwarn-tabs
+    -fwarn-incomplete-record-updates
+    -fwarn-monomorphism-restriction
+    -fwarn-unused-do-bind
+    -O2
+
+
+-- These won't work without shelltestrunner installed in your
+-- $PATH. Maybe there is some way to tell Cabal that.
+test-suite shelltests
+  type: exitcode-stdio-1.0
+  hs-source-dirs: src test
+  main-is: ShellTests.hs
+  build-depends:
+    base                        >= 4.6 && < 5,
     cmdargs                     >= 0.10.6,
-    configurator                == 0.2.*,
-    directory                   == 1.2.*,
-    filepath                    == 1.3.*,
-    hdaemonize                  == 0.4.*,
-    hslogger                    == 1.2.*,
-    hxt                         == 9.3.*,
-    MissingH                    == 1.2.*,
-    network                     == 2.4.*,
-    tasty                       == 0.5.*,
-    tasty-hunit                 == 0.4.*,
-    transformers                == 0.3.*,
-    unix                        == 2.6.*
+    configurator                >= 0.2,
+    directory                   >= 1.2,
+    filepath                    >= 1.3,
+    hdaemonize                  >= 0.4,
+    hslogger                    >= 1.2,
+    htsn-common                 >= 0.0.2,
+    hxt                         >= 9.3,
+    MissingH                    >= 1.2,
+    network                     >= 2.4,
+    process                     >= 1.1,
+    tasty                       >= 0.8,
+    tasty-hunit                 >= 0.8,
+    unix                        >= 2.6
 
   -- It's not entirely clear to me why I have to reproduce all of this.
   ghc-options:
@@ -283,10 +326,6 @@ test-suite testsuite
     -fwarn-incomplete-record-updates
     -fwarn-monomorphism-restriction
     -fwarn-unused-do-bind
-    -rtsopts
-    -threaded
-    -optc-O3
-    -optc-march=native
     -O2