packages feed

keera-posture-0.2.4.3: keera-posture.cabal

Name:                keera-posture
Version:             0.2.4.3
Synopsis:            Get notifications when your sitting posture is inappropriate.
Description:         A program that notifies when you sit in a straining position.
Homepage:            http://keera.co.uk/projects/keera-posture
License:             OtherLicense
License-file:        LICENSE
Author:              Ivan Perez
Maintainer:          support@keera.co.uk

Copyright:           2010-2017 Keera Studios
Tested-With:         GHC == 7.8.4
Category:            AI
Build-type:          Simple

Data-files: data/Interface.glade data/warning.wav data/*.png data/haarcascade_frontalface_alt.xml

Extra-source-files:  README
                     CHANGELOG

cabal-version:       >= 1.10

Executable keera-posture
  default-language: Haskell2010

  Main-is: Main.hs
  hs-source-dirs: src/

  if os(windows)
   ghc-options: -threaded -Wall -fno-warn-unused-do-bind -O2 -optl-mwindows
  else
   ghc-options: -threaded -Wall -fno-warn-unused-do-bind
   -- ghc-options: -threaded -Wall -fno-warn-unused-do-bind -O2 obj/OpenCVGtkPixbuf.o

  -- if os(windows)
  -- TODO: This should be in SDL-mixer, shouldn't it?
  extra-libraries: SDL_mixer

  if os(windows)
    Build-depends: base >= 4.0 && < 5,
                   containers,
                   cv-combinators,
                   cmdargs,
                   HOpenCV,
                   mtl,
                   IfElse,
                   filepath,
                   directory,
                   glib,
                   allocated-processor,
                   time,
                   SDL-mixer,
                   SDL,
                   -- glade,
                   gtk >= 0.12.1,
                   gio >= 0.12.1,
                   hgettext,
                   setlocale,
                   utf8-string,
                   bytestring,
                   network,
                   HTTP,
                   process,
                   Win32,

                   -- Keera Studios libraries
                   gtk-helpers,
                   MissingK,
                   keera-hails-mvc-solutions-gtk,
                   keera-hails-mvc-model-protectedmodel,
                   keera-hails-mvc-view-gtk,
                   keera-hails-i18n,
                   keera-hails-mvc-environment-gtk,
                   keera-hails-reactive-gtk,
                   keera-hails-mvc-controller,
                   keera-hails-mvc-solutions-config,
                   keera-hails-reactivevalues                > 0.2
  else
    Build-depends: base                                      >= 4.0 && < 5,
                   containers,
                   cv-combinators,
                   cmdargs,
                   HOpenCV,
                   mtl,
                   IfElse,
                   filepath,
                   directory,
                   glib,
                   allocated-processor,
                   time,
                   SDL-mixer,
                   SDL,
                   -- glade,
                   gtk,
                   gio,
                   hgettext,
                   setlocale,
                   utf8-string,
                   bytestring,
                   network,
                   HTTP,
                   process,

                   -- Keera Studios libraries
                   gtk-helpers,
                   MissingK,
                   keera-hails-mvc-solutions-gtk,
                   keera-hails-mvc-model-protectedmodel,
                   keera-hails-mvc-view-gtk,
                   keera-hails-i18n,
                   keera-hails-mvc-environment-gtk,
                   keera-hails-reactive-gtk,
                   keera-hails-mvc-controller,
                   keera-hails-mvc-solutions-config,
                   keera-hails-reactivevalues                > 0.2

  -- Modules not exported by this package.
  Other-modules: Audio,
                 AI.CV.PostureProcessors,
                 CombinedEnvironment,
                 Controller,
                 Controller.Conditions,
                 Controller.Conditions.Calibrate,
                 Controller.Conditions.Calibration,
                 Controller.Conditions.Config,
                 Controller.Conditions.Detector,
                 Controller.Conditions.Help,
                 Controller.Conditions.LanguageConfig,
                 Controller.Conditions.MenuEnabled,
                 Controller.Conditions.MenuEnabledClick,
                 Controller.Conditions.NotificationMenu,
                 Controller.Conditions.NotifySound,
                 Controller.Conditions.NotifyWindow,
                 Controller.Conditions.PopupMenu,
                 Controller.Conditions.Postcalibration,
                 Controller.Conditions.Precalibration,
                 Controller.Conditions.PreferencesDetectionCamera,
                 Controller.Conditions.PreferencesDetectionCorrection,
                 Controller.Conditions.PreferencesDetectionDelay,
                 Controller.Conditions.PreferencesDetectionMethods,
                 Controller.Conditions.PreferencesDialog,
                 Controller.Conditions.PreferencesDialogDestroy,
                 Controller.Conditions.PreferencesLanguageCombo,
                 Controller.Conditions.PreferencesSoundCustomise,
                 Controller.Conditions.PreferencesUplink,
                 Controller.Conditions.Quit,
                 Controller.Conditions.Status,
                 Controller.Conditions.UpdateCheck,
                 Controller.Conditions.Website,
                 Controller.Conditions.Welcome,
                 Data.Extra.Ord,
                 I18N.Strings,
                 Model.Model,
                 Model.ProtectedModel
                 Model.ProtectedModel,
                 Model.ProtectedModel.Detector,
                 Model.ProtectedModel.Preferences,
                 Model.ProtectedModel.ProtectedFields,
                 Model.ProtectedModel.ProtectedModelInternals,
                 Model.ProtectedModel.Sound,
                 Model.ProtectedModel.Status,
                 Model.ReactiveModel,
                 Model.ReactiveModel.Detector,
                 Model.ReactiveModel.ModelEvents,
                 Model.ReactiveModel.Preferences,
                 Model.ReactiveModel.ReactiveFields,
                 Model.ReactiveModel.ReactiveModelInternals,
                 Model.ReactiveModel.Sound,
                 Model.ReactiveModel.Status,
                 MyIO,
                 Paths,
                 Paths.CustomPaths,
                 View,
                 View.InitLanguagesCombo,
                 View.Objects

  -- Extra tools (e.g. alex, hsc2hs, ...) needed to build the source.
  -- Build-tools: hails

source-repository head
  type:     git
  location: https://github.com/keera-studios/keera-posture.git

-- You can disable the hlint test suite with -f-test-hlint
flag test-hlint
  default: False
  manual: True

-- You can disable the haddock coverage test suite with -f-test-doc-coverage
flag test-doc-coverage
  default: False
  manual: True

test-suite hlint
  type: exitcode-stdio-1.0
  main-is: hlint.hs
  hs-source-dirs: tests
  if !flag(test-hlint)
    buildable: False
  else
    build-depends:
      base,
      hlint >= 1.7

-- Verify that the code is thoroughly documented
test-suite haddock-coverage
  type: exitcode-stdio-1.0
  main-is: HaddockCoverage.hs
  ghc-options: -Wall
  hs-source-dirs: tests

  if !flag(test-doc-coverage)
    buildable: False
  else
    build-depends:
      base >= 4 && < 5,
      directory,
      filepath,
      process,
      regex-posix