[commit: packages/time] master: get working with Cabal 1.16; fix up build process (2fa30f7)

git at git.haskell.org git at git.haskell.org
Fri Jan 23 23:00:51 UTC 2015


Repository : ssh://git@git.haskell.org/time

On branch  : master
Link       : http://git.haskell.org/packages/time.git/commitdiff/2fa30f752df06fad3f4245f99b9c3aefcdf447df

>---------------------------------------------------------------

commit 2fa30f752df06fad3f4245f99b9c3aefcdf447df
Author: Ashley Yakeley <ashley at semantic.org>
Date:   Sun Oct 21 16:48:44 2012 -0700

    get working with Cabal 1.16; fix up build process
    
    Ignore-this: f4503eb3fa2fbd1ac938024548d1176f
    
    darcs-hash:20121021234844-ac6dd-fc357fa538cdf5e1c09c14771cd37c204331a35a


>---------------------------------------------------------------

2fa30f752df06fad3f4245f99b9c3aefcdf447df
 Makefile         | 10 +++++-----
 Setup.hs         | 18 +-----------------
 Test/TestUtil.hs | 38 ++++++++------------------------------
 Test/Tests.hs    |  4 ++--
 configure.ac     |  2 ++
 time.cabal       |  6 +++---
 6 files changed, 21 insertions(+), 57 deletions(-)

diff --git a/Makefile b/Makefile
index a0b37a9..37a78fc 100644
--- a/Makefile
+++ b/Makefile
@@ -6,24 +6,24 @@ clean:
 	cabal clean
 
 configure:
-	cabal configure --enable-library-profiling --enable-executable-profiling
+	cabal configure --enable-library-profiling --enable-executable-profiling --enable-tests
 
 build: configure
 	cabal build --ghc-options=-Werror
 
-test: install
+test: build
 	cabal test
 
 haddock: configure
 	cabal haddock
 
-install: build haddock
+install: build test haddock
 	cabal install --user --enable-library-profiling --enable-executable-profiling
 
-sdist: configure
+sdist: clean configure
 	cabal sdist
 
 # switch off intermediate file deletion
 .SECONDARY:
 
-.PHONY: default configure build haddock install test sdist
+.PHONY: default clean configure build haddock install test sdist
diff --git a/Setup.hs b/Setup.hs
index cdd46de..26fdbce 100644
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,26 +1,10 @@
 module Main (main) where
 
-import Control.Exception
-import Distribution.PackageDescription
 import Distribution.Simple
-import Distribution.Simple.LocalBuildInfo
-import Distribution.Simple.Utils
-import System.Cmd
-import System.Directory
 import System.Info
 
 main :: IO ()
 main = case os of
     "windows" -> defaultMain
     "mingw32" -> defaultMain
-    _ -> let hooks = autoconfUserHooks { runTests = runTestScript } in defaultMainWithHooks hooks
-
-withCurrentDirectory :: FilePath -> IO a -> IO a
-withCurrentDirectory path f = do
-    cur <- getCurrentDirectory
-    setCurrentDirectory path
-    finally f (setCurrentDirectory cur)
-
-runTestScript :: Args -> Bool -> PackageDescription -> LocalBuildInfo -> IO ()
-runTestScript _args _flag _pd _lbi
- = maybeExit $ withCurrentDirectory "test" $ system "make"
+    _ -> defaultMainWithHooks autoconfUserHooks
diff --git a/Test/TestUtil.hs b/Test/TestUtil.hs
index 237bcfb..2c0be91 100644
--- a/Test/TestUtil.hs
+++ b/Test/TestUtil.hs
@@ -1,42 +1,20 @@
 module Test.TestUtil
-  ( SimpleTest(..)
-  , IO_SimpleTest(..)
-  , diff
-  , module Distribution.TestSuite )
- where
+  (
+  module Test.TestUtil
+  , module Distribution.TestSuite
+  ) where
 
 import Distribution.TestSuite
 
-import System.Cmd
-import System.Exit
-
---
-
 data SimpleTest = SimpleTest String Result
 
-instance TestOptions SimpleTest where
-  name (SimpleTest s _) = s
-  options = const []
-  defaultOptions _ = return $ Options []
-  check _ _ = []
-  
-instance PureTestable SimpleTest where
-  run (SimpleTest _ r) _ = r
-
---
+pure :: SimpleTest -> Test
+pure (SimpleTest name result) = Test (TestInstance (return (Finished result)) name [] [] (\_ _ -> Left ""))
 
 data IO_SimpleTest = IO_SimpleTest String (IO Result)
 
-instance TestOptions IO_SimpleTest where
-  name (IO_SimpleTest s _) = s
-  options = const []
-  defaultOptions _ = return $ Options []
-  check _ _ = []
-
-instance ImpureTestable IO_SimpleTest where
-  runM (IO_SimpleTest _ r) _ = r
-
---
+impure :: IO_SimpleTest -> Test
+impure (IO_SimpleTest name mresult) = Test (TestInstance (fmap Finished mresult) name [] [] (\_ _ -> Left ""))
 
 diff :: String -> String -> Result
 diff s t
diff --git a/Test/Tests.hs b/Test/Tests.hs
index d8e1cb2..2185918 100644
--- a/Test/Tests.hs
+++ b/Test/Tests.hs
@@ -13,8 +13,8 @@ import Test.TestMonthDay
 import Test.TestParseDAT
 import Test.TestTime
 
-tests :: [Test]
-tests = [ addDaysTest
+tests :: IO [Test]
+tests = return [ addDaysTest
         , clipDates
         , convertBack
         , longWeekYears
diff --git a/configure.ac b/configure.ac
index dc58c49..927625a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6,6 +6,8 @@ AC_CONFIG_SRCDIR([include/HsTime.h])
 AC_ARG_WITH([cc],
             [C compiler],
             [CC=$withval])
+AC_ARG_WITH([gcc],[Gnu C compiler])
+AC_ARG_WITH([compiler],[Haskell compiler])
 AC_PROG_CC()
 
 AC_CONFIG_HEADERS([include/HsTimeConfig.h])
diff --git a/time.cabal b/time.cabal
index e6e2668..ec13915 100644
--- a/time.cabal
+++ b/time.cabal
@@ -9,8 +9,8 @@ homepage:       http://semantic.org/TimeLib/
 synopsis:       A time library
 description:    A time library
 category:       System
-build-type:     Simple
-cabal-version:  >=1.9.2
+build-type:     Custom
+cabal-version:  >=1.16
 x-follows-version-policy:
 
 extra-source-files:
@@ -91,7 +91,7 @@ Test-Suite tests
   cpp-options: -DLANGUAGE_Rank2Types -DLANGUAGE_DeriveDataTypeable -DLANGUAGE_StandaloneDeriving
   c-sources: cbits/HsTime.c Test/TestFormatStuff.c
   include-dirs: include
-  build-depends: base, deepseq, Cabal >= 1.9.2, old-locale, process
+  build-depends: base, deepseq, Cabal >= 1.16, old-locale, process
   other-modules:
     Test.TestTime
     Test.TestTimeRef



More information about the ghc-commits mailing list