slyfox 15/08/01 16:07:28
Added: hdbc-2.4.0.0-ghc-7.10-1.patch
hdbc-2.4.0.0-ghc-7.10-2.patch
Log:
Port to ghc-7.10/time-1.5.
(Portage version: 2.2.20/cvs/Linux x86_64, signed Manifest commit with key
611FF3AA)
Revision Changes Path
1.1 dev-haskell/hdbc/files/hdbc-2.4.0.0-ghc-7.10-1.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-haskell/hdbc/files/hdbc-2.4.0.0-ghc-7.10-1.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-haskell/hdbc/files/hdbc-2.4.0.0-ghc-7.10-1.patch?rev=1.1&content-type=text/plain
Index: hdbc-2.4.0.0-ghc-7.10-1.patch
===================================================================
diff --git a/Database/HDBC/Locale.hs b/Database/HDBC/Locale.hs
index e62b1c1..976a6a9 100644
--- a/Database/HDBC/Locale.hs
+++ b/Database/HDBC/Locale.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
module Database.HDBC.Locale
(
defaultTimeLocale,
@@ -5,7 +6,12 @@ module Database.HDBC.Locale
)
where
+
+#if MIN_VERSION_time(1,5,0)
+import Data.Time.Format (defaultTimeLocale)
+#else
import System.Locale (defaultTimeLocale)
+#endif
-- | As the semantic of System.Locale.iso8601DateFormat has changed with
-- old-locale-1.0.0.2 in a non-compatible way, we now define our own
diff --git a/Database/HDBC/SqlValue.hs b/Database/HDBC/SqlValue.hs
index 9724f81..0e278cd 100644
--- a/Database/HDBC/SqlValue.hs
+++ b/Database/HDBC/SqlValue.hs
@@ -17,7 +17,11 @@ import Data.Char(ord,toUpper)
import Data.Word
import Data.Int
import qualified System.Time as ST
-import Data.Time
+import Data.Time ( Day (ModifiedJulianDay), DiffTime, LocalTime,
NominalDiffTime, ParseTime
+ , TimeOfDay, TimeZone, UTCTime, ZonedTime, formatTime,
localDay, localTimeOfDay
+ , parseTime, timeOfDayToTime, timeToTimeOfDay,
toModifiedJulianDay, utc
+ , utcToZonedTime, zonedTimeToLocalTime, zonedTimeToUTC,
zonedTimeZone
+ )
import Data.Time.Clock.POSIX
import Database.HDBC.Locale (defaultTimeLocale, iso8601DateFormat)
import Data.Ratio
1.1 dev-haskell/hdbc/files/hdbc-2.4.0.0-ghc-7.10-2.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-haskell/hdbc/files/hdbc-2.4.0.0-ghc-7.10-2.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-haskell/hdbc/files/hdbc-2.4.0.0-ghc-7.10-2.patch?rev=1.1&content-type=text/plain
Index: hdbc-2.4.0.0-ghc-7.10-2.patch
===================================================================
diff --git a/Database/HDBC/SqlValue.hs b/Database/HDBC/SqlValue.hs
index 0e278cd..1ebf114 100644
--- a/Database/HDBC/SqlValue.hs
+++ b/Database/HDBC/SqlValue.hs
@@ -19,8 +19,13 @@ import Data.Int
import qualified System.Time as ST
import Data.Time ( Day (ModifiedJulianDay), DiffTime, LocalTime,
NominalDiffTime, ParseTime
, TimeOfDay, TimeZone, UTCTime, ZonedTime, formatTime,
localDay, localTimeOfDay
- , parseTime, timeOfDayToTime, timeToTimeOfDay,
toModifiedJulianDay, utc
+ , timeOfDayToTime, timeToTimeOfDay, toModifiedJulianDay, utc
, utcToZonedTime, zonedTimeToLocalTime, zonedTimeToUTC,
zonedTimeZone
+#if MIN_VERSION_time(1,5,0)
+ , parseTimeM
+#else
+ , parseTime
+#endif
)
import Data.Time.Clock.POSIX
import Database.HDBC.Locale (defaultTimeLocale, iso8601DateFormat)
@@ -665,7 +670,11 @@ instance Convertible (TimeOfDay, TimeZone) SqlValue where
instance Convertible SqlValue (TimeOfDay, TimeZone) where
safeConvert (SqlString x) =
do tod <- parseTime' "%T%Q %z" x
+#if MIN_VERSION_time(1,5,0)
+ tz <- case parseTimeM True defaultTimeLocale "%T%Q %z" x of
+#else
tz <- case parseTime defaultTimeLocale "%T%Q %z" x of
+#endif
Nothing -> convError "Couldn't extract timezone in"
(SqlString x)
Just y -> Right y
return (tod, tz)
@@ -939,7 +948,11 @@ parseTime' _ inpstr =
#else
parseTime' :: (Typeable t, Convertible SqlValue t, ParseTime t) => String ->
String -> ConvertResult t
parseTime' fmtstr inpstr =
+#if MIN_VERSION_time(1,5,0)
+ case parseTimeM True defaultTimeLocale fmtstr inpstr of
+#else
case parseTime defaultTimeLocale fmtstr inpstr of
+#endif
Nothing -> convError ("Cannot parse using default format string " ++
show fmtstr)
(SqlString inpstr)
Just x -> Right x