diff --git a/compiler/ghc.cabal.in b/compiler/ghc.cabal.in
index a7502bb1f9d5c2c9b5dd08a696dd91fa037db59f..5efad1984f3af0ccec752b7c24d8fa843dd4bf03 100644
--- a/compiler/ghc.cabal.in
+++ b/compiler/ghc.cabal.in
@@ -111,7 +111,7 @@ Library
                    process    >= 1   && < 1.7,
                    bytestring >= 0.9 && < 0.13,
                    binary     == 0.8.*,
-                   time       >= 1.4 && < 1.13,
+                   time       >= 1.4 && < 1.15,
                    containers >= 0.6.2.1 && < 0.8,
                    array      >= 0.1 && < 0.6,
                    filepath   >= 1   && < 1.6,
diff --git a/ghc/ghc-bin.cabal.in b/ghc/ghc-bin.cabal.in
index de06e3febd16c363e4be654a5dbb526382f0d41f..38841a9aa35a4a13ceedc1e951c516911fc1f414 100644
--- a/ghc/ghc-bin.cabal.in
+++ b/ghc/ghc-bin.cabal.in
@@ -61,7 +61,7 @@ Executable ghc
             ghci           == @ProjectVersionMunged@,
             haskeline      == 0.8.*,
             exceptions     == 0.10.*,
-            time           >= 1.8 && < 1.13
+            time           >= 1.8 && < 1.15
         CPP-Options: -DHAVE_INTERNAL_INTERPRETER
         Other-Modules:
             GHCi.Leak
diff --git a/hadrian/src/Rules/Dependencies.hs b/hadrian/src/Rules/Dependencies.hs
index 099d82b0931c5f372d5ffaa8ace90d1f22189f63..153d0a00229ee62b52184547a2312d26e7b9221c 100644
--- a/hadrian/src/Rules/Dependencies.hs
+++ b/hadrian/src/Rules/Dependencies.hs
@@ -29,6 +29,18 @@ extraDepsList =
     , (containers, "Data.Set.Internal") --> th_internal
     , (containers, "Data.Sequence.Internal") --> th_internal
     , (containers, "Data.Graph") --> th_internal
+    , (time, "Data.Time.Calendar.CalendarDiffDays") --> th_internal
+    , (time, "Data.Time.Calendar.Days") --> th_internal
+    , (time, "Data.Time.Calendar.Month") --> th_internal
+    , (time, "Data.Time.Calendar.Quarter") --> th_internal
+    , (time, "Data.Time.Calendar.Week") --> th_internal
+    , (time, "Data.Time.Calendar.WeekDate") --> th_internal
+    , (time, "Data.Time.Clock.Internal.AbsoluteTime") --> th_internal
+    , (time, "Data.Time.Clock.Internal.DiffTime") --> th_internal
+    , (time, "Data.Time.Clock.Internal.NominalDiffTime") --> th_internal
+    , (time, "Data.Time.Clock.Internal.SystemTime") --> th_internal
+    , (time, "Data.Time.Clock.Internal.UTCTime") --> th_internal
+    , (time, "Data.Time.Clock.Internal.UniversalTime") --> th_internal
     ]
   where
     (p1,m1) --> (p2,m2) = (PkgMod p1 m1, PkgMod p2 m2)
diff --git a/libraries/Cabal b/libraries/Cabal
index 7d140c56d277c49fb8452729de3bb62c937017a0..b5ac2f70b0289c5ee1d31211a44133217a8fb9e3 160000
--- a/libraries/Cabal
+++ b/libraries/Cabal
@@ -1 +1 @@
-Subproject commit 7d140c56d277c49fb8452729de3bb62c937017a0
+Subproject commit b5ac2f70b0289c5ee1d31211a44133217a8fb9e3
diff --git a/libraries/directory b/libraries/directory
index 4b7c231d187cf253c5f446c4aed2fea26b81d5f9..fc144a581768eb0a328bdcd5adcffca400bd0876 160000
--- a/libraries/directory
+++ b/libraries/directory
@@ -1 +1 @@
-Subproject commit 4b7c231d187cf253c5f446c4aed2fea26b81d5f9
+Subproject commit fc144a581768eb0a328bdcd5adcffca400bd0876
diff --git a/libraries/hpc b/libraries/hpc
index 8bf6f8b08b0d72cb9231775b66ca572acc1d3197..4989c41b96c7c9ca09a6687da638ac28f3d3688b 160000
--- a/libraries/hpc
+++ b/libraries/hpc
@@ -1 +1 @@
-Subproject commit 8bf6f8b08b0d72cb9231775b66ca572acc1d3197
+Subproject commit 4989c41b96c7c9ca09a6687da638ac28f3d3688b
diff --git a/libraries/time b/libraries/time
index baab563ee2ce547f7b7f7e7069ed09db2d406941..e5c5d1987011efe88a21ab6ded45aaa33a16274f 160000
--- a/libraries/time
+++ b/libraries/time
@@ -1 +1 @@
-Subproject commit baab563ee2ce547f7b7f7e7069ed09db2d406941
+Subproject commit e5c5d1987011efe88a21ab6ded45aaa33a16274f