diff --git a/compiler/ghc.cabal.in b/compiler/ghc.cabal.in
index 36dc437cd74446ccd7b08aa340e733ac0cad3b43..2a4d9755bd5f538a9099ce9e5805de21e0e5ee9c 100644
--- a/compiler/ghc.cabal.in
+++ b/compiler/ghc.cabal.in
@@ -71,7 +71,7 @@ Library
     else
         if flag(terminfo)
             Build-Depends: terminfo == 0.4.*
-        Build-Depends: unix   == 2.7.*
+        Build-Depends: unix   >= 2.7 && < 2.9
 
     GHC-Options: -Wall
                  -Wno-name-shadowing
diff --git a/ghc/ghc-bin.cabal.in b/ghc/ghc-bin.cabal.in
index c94c6f801356a28053e765ce4ca1c94c06c6bf25..12812ef07c15c993d5a4aff38d15e4f6d77f4e5c 100644
--- a/ghc/ghc-bin.cabal.in
+++ b/ghc/ghc-bin.cabal.in
@@ -40,7 +40,7 @@ Executable ghc
     if os(windows)
         Build-Depends: Win32  >= 2.3 && < 2.7
     else
-        Build-Depends: unix   == 2.7.*
+        Build-Depends: unix   >= 2.7 && < 2.9
 
     C-Sources: hschooks.c
 
diff --git a/iserv/iserv-bin.cabal b/iserv/iserv-bin.cabal
index a713e6fbdb4e7ec7b0d859bc6dadfec0e696aff6..b2695093ee3235234ba4e75d492c808980a5fcf5 100644
--- a/iserv/iserv-bin.cabal
+++ b/iserv/iserv-bin.cabal
@@ -92,7 +92,7 @@ Library
    if os(windows)
        Cpp-Options: -DWINDOWS
    else
-       Build-Depends: unix   >= 2.7 && < 2.8
+       Build-Depends: unix   >= 2.7 && < 2.9
 
 Executable iserv
     Default-Language: Haskell2010
@@ -117,7 +117,7 @@ Executable iserv
     if os(windows)
         Cpp-Options: -DWINDOWS
     else
-        Build-Depends: unix   >= 2.7 && < 2.8
+        Build-Depends: unix   >= 2.7 && < 2.9
 
 Executable iserv-proxy
    If flag(proxy)
diff --git a/libraries/Cabal b/libraries/Cabal
index c219cd3f31c8e4e4bc71f93bbcd4de87830a986d..335fa8d82520bad1a6980fd55230e65889c99860 160000
--- a/libraries/Cabal
+++ b/libraries/Cabal
@@ -1 +1 @@
-Subproject commit c219cd3f31c8e4e4bc71f93bbcd4de87830a986d
+Subproject commit 335fa8d82520bad1a6980fd55230e65889c99860
diff --git a/libraries/base/tests/IO/T2122.hs b/libraries/base/tests/IO/T2122.hs
index 9a8badc2160aad7b88241bf9ce1c8b6a93234958..488d2434bc9a7bdc154f95e64d40300a109c7b93 100644
--- a/libraries/base/tests/IO/T2122.hs
+++ b/libraries/base/tests/IO/T2122.hs
@@ -51,9 +51,9 @@ test causeFailure =
 -- probably because openFd does not try to lock the file
 test2 :: Bool -> IO ()
 test2 causeFailure =
-    do fd1 <- openFd fp ReadOnly Nothing defaultFileFlags `catchIOError` (\e -> error ("openFile 1: " ++ show e))
+    do fd1 <- openFd fp ReadOnly defaultFileFlags `catchIOError` (\e -> error ("openFile 1: " ++ show e))
        when causeFailure $ do
-         fd2 <- openFd fp ReadOnly Nothing defaultFileFlags `catchIOError` (\e -> error ("openFile 2: " ++ show e))
+         fd2 <- openFd fp ReadOnly defaultFileFlags `catchIOError` (\e -> error ("openFile 2: " ++ show e))
          closeFd fd2
        closeFd fd1
        removeFile fp
diff --git a/libraries/base/tests/T7773.hs b/libraries/base/tests/T7773.hs
index 495cd7abd97e38c72edc59daadb458026c96e366..7f73b12f3b72e68abb0fae829a2eb5fae4616707 100644
--- a/libraries/base/tests/T7773.hs
+++ b/libraries/base/tests/T7773.hs
@@ -3,7 +3,7 @@ import System.Posix.IO
 
 main = do
   putStrLn "hello"
-  fd <- openFd "/dev/random" ReadOnly Nothing defaultFileFlags
+  fd <- openFd "/dev/random" ReadOnly defaultFileFlags
   threadWaitRead fd
   putStrLn "goodbye"
-  
\ No newline at end of file
+
diff --git a/libraries/directory b/libraries/directory
index 6f3a1823b56f47cc17a9d39897965d47d6b2cbb4..9c474f0d287b143c43dff275db0640d358e323cc 160000
--- a/libraries/directory
+++ b/libraries/directory
@@ -1 +1 @@
-Subproject commit 6f3a1823b56f47cc17a9d39897965d47d6b2cbb4
+Subproject commit 9c474f0d287b143c43dff275db0640d358e323cc
diff --git a/libraries/ghci/ghci.cabal.in b/libraries/ghci/ghci.cabal.in
index 595f8deb76b08be4fbcd27d5f464f151d4f4343f..05655d03c356cf839f6702c65b227d63ebea238f 100644
--- a/libraries/ghci/ghci.cabal.in
+++ b/libraries/ghci/ghci.cabal.in
@@ -81,4 +81,4 @@ library
         transformers     == 0.5.*
 
     if !os(windows)
-        Build-Depends: unix == 2.7.*
+        Build-Depends: unix >= 2.7 && < 2.9
diff --git a/libraries/haskeline b/libraries/haskeline
index 019e08f2c91b7cc45e5fb98189193a9f5c2d2d57..481b890e8616d9e85da69173d5079ad49f9fb83d 160000
--- a/libraries/haskeline
+++ b/libraries/haskeline
@@ -1 +1 @@
-Subproject commit 019e08f2c91b7cc45e5fb98189193a9f5c2d2d57
+Subproject commit 481b890e8616d9e85da69173d5079ad49f9fb83d
diff --git a/libraries/process b/libraries/process
index 7c0b58141290b50a338bf391adc0a8c43513165b..78c338b2ad06f0a3ed4ace7d95cc68ddb87ab207 160000
--- a/libraries/process
+++ b/libraries/process
@@ -1 +1 @@
-Subproject commit 7c0b58141290b50a338bf391adc0a8c43513165b
+Subproject commit 78c338b2ad06f0a3ed4ace7d95cc68ddb87ab207
diff --git a/libraries/unix b/libraries/unix
index 41c5776162b60e0739a7559ceab03b9c3a444516..c9ec0b00012e5eb447ff021091f86efe31be8abf 160000
--- a/libraries/unix
+++ b/libraries/unix
@@ -1 +1 @@
-Subproject commit 41c5776162b60e0739a7559ceab03b9c3a444516
+Subproject commit c9ec0b00012e5eb447ff021091f86efe31be8abf