diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,18 @@
+2017-05-08 Ivan Perez <ivan.perez@keera.co.uk>
+
+        * keera-posture.cabal: Bump (0.2.4.1).
+        * Renames files to facilitate CI compilation/distribution.
+
+2017-05-08 Ivan Perez <ivan.perez@keera.co.uk>
+
+        * keera-posture.cabal: Bump (0.2.4).
+        * Switches to standard compilation system.
+
+2017-04-27 Ivan Perez <ivan.perez@keera.co.uk>
+
+        * keera-posture.cabal: Bump (0.2.3.1).
+        * Enables building with Travis CI (7.6, 7.8, 7.10, 8).
+
 2015-11-03 Ivan Perez <ivan.perez@keera.co.uk>
 
         * keera-posture.cabal: Tests KP with GHC 7.6 and 7.8. Bump (0.2.3).
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,34 +1,3 @@
 #!/usr/bin/env runhaskell
-{-# LANGUAGE BangPatterns #-}
-
 import Distribution.Simple
-import Distribution.Simple.Setup
-import Distribution.Simple.PreProcess
-import Distribution.Simple.Program
-import Distribution.Simple.Utils
-import Distribution.PackageDescription
-import Distribution.Simple.LocalBuildInfo
-import Data.Char
-import System.Exit
-import System.IO
-import System.Directory
-import System.FilePath.Windows
-
-main = let hooks = simpleUserHooks 
-       in defaultMainWithHooks hooks { confHook  = hailsConfigure
-                                     , cleanHook = hailsClean
-                                     }
-
--- This is a non-portable version of hails. It generates the
--- files inside the src dir.
-hailsConfigure :: (GenericPackageDescription, HookedBuildInfo) -> ConfigFlags -> IO LocalBuildInfo
-hailsConfigure (gpd, info) flags = do
-  runProgramInvocation verbosity $ simpleProgramInvocation "hails" ["--init", "--output-dir=src"]
-  (confHook simpleUserHooks) (gpd, info) flags 
- where verbosity = fromFlag $ configVerbosity flags
-
-hailsClean :: PackageDescription -> () -> UserHooks -> CleanFlags -> IO ()
-hailsClean pd () hooks flags = do
-  runProgramInvocation verbosity $ simpleProgramInvocation "hails" ["--clean", "--output-dir=src"]
-  (cleanHook simpleUserHooks) pd () hooks flags
- where verbosity = fromFlag $ cleanVerbosity flags
+main = defaultMain
diff --git a/keera-posture.cabal b/keera-posture.cabal
--- a/keera-posture.cabal
+++ b/keera-posture.cabal
@@ -6,7 +6,7 @@
 -- The package version. See the Haskell package versioning policy
 -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
 -- standards guiding when and how versions should be incremented.
-Version:             0.2.3
+Version:             0.2.4.1
 
 -- A short (one-line) description of the package.
 Synopsis:            Get notifications when your sitting posture is inappropriate.
@@ -65,7 +65,8 @@
    ghc-options: -threaded -Wall -fno-warn-unused-do-bind
    -- ghc-options: -threaded -Wall -fno-warn-unused-do-bind -O2 obj/OpenCVGtkPixbuf.o
 
-  extra-libraries: SDL_mixer
+  if os(windows)
+   extra-libraries: SDL_mixer
 
   -- Packages needed in order to build this package.
   -- Build-depends:
diff --git a/src/Controller.hs b/src/Controller.hs
--- a/src/Controller.hs
+++ b/src/Controller.hs
@@ -40,8 +40,8 @@
       let can = canStdErr || canStdOut
           hdl = if canStdErr then stderr else stdout
       when can $ mapM_ (hPutStrLn hdl)
-        [ "Keera Posture v0.1.4.4"
-        , "Copyright (C) 2010-2015 Ivan Perez Dominguez and Keera Studios Ltd (UK)"
+        [ "Keera Posture v0.2.3.1"
+        , "Copyright (C) 2010-2017 Ivan Perez Dominguez and Keera Studios Ltd (UK)"
         , __ "Licence: All rights reserved"
         , __ "This software includes modified and unmodified versions of"
         , __ "free and open source software. Read the copyright licence,"
@@ -97,7 +97,7 @@
           &= help "Shows the licence and exits"
           }
          &= program "keera-posture"
-         &= summary "Keera Posture 0.1.4.4 (c) 2010-2015 Ivan Perez - Keera Studios"
+         &= summary "Keera Posture 0.2.3.1 (c) 2010-2017 Ivan Perez - Keera Studios"
          &= details [ __ "Report bugs to support@keera.co.uk"
                     , __ "Find more about Keera Posture at http://keera.co.uk"
                     , __ "and http://github.com/keera-studios/keera-posture"
diff --git a/src/Controller/Conditions/Config.hs b/src/Controller/Conditions/Config.hs
--- a/src/Controller/Conditions/Config.hs
+++ b/src/Controller/Conditions/Config.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE FlexibleContexts #-}
 -- | Reads and writes the configuration when necessary. The configuration is
 -- only read when the program starts. It is saved every time it changes.
 module Controller.Conditions.Config where
