diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # shake-cabal
 
+## 0.2.2.2
+
+  * Cabal version `>3.6`
+
 ## 0.2.2.1
 
   * Support `shake` 0.18.4
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,4 +1,6 @@
 # shake-cabal
 
+[![Hackage CI](https://matrix.hackage.haskell.org/api/v2/packages/shake-cabal/badge)](https://matrix.hackage.haskell.org/package/shake-cabal)
+
 A library for using [shake](http://hackage.haskell.org/package/shake) with
 [cabal](https://www.haskell.org/cabal/download.html).
diff --git a/shake-cabal.cabal b/shake-cabal.cabal
--- a/shake-cabal.cabal
+++ b/shake-cabal.cabal
@@ -1,9 +1,9 @@
 cabal-version:   1.18
 name:            shake-cabal
-version:         0.2.2.1
+version:         0.2.2.2
 license:         BSD3
 license-file:    LICENSE
-copyright:       Copyright: (c) 2018-2019 Vanessa McHale
+copyright:       Copyright: (c) 2018-2019, 2021 Vanessa McHale
 maintainer:      vamchale@gmail.com
 author:          Vanessa McHale
 bug-reports:     https://github.com/vmchale/atspkg/issues
@@ -39,7 +39,7 @@
     build-depends:
         base >=4.8 && <5,
         shake >=0.18.4,
-        Cabal >=2.2,
+        Cabal >=3.6,
         directory -any,
         composition-prelude -any,
         filepath -any,
diff --git a/src/Development/Shake/Cabal.hs b/src/Development/Shake/Cabal.hs
--- a/src/Development/Shake/Cabal.hs
+++ b/src/Development/Shake/Cabal.hs
@@ -29,9 +29,7 @@
 import           Distribution.PackageDescription
 import           Distribution.PackageDescription.Parsec
 import           Distribution.Pretty
-import           Distribution.Types.CondTree
-import           Distribution.Types.ForeignLib
-import           Distribution.Types.PackageId
+import           Distribution.Utils.Path                (getSymbolicPath)
 import           Distribution.Verbosity                 as Distribution
 import           Distribution.Version
 import           System.Directory                       (doesFileExist)
@@ -123,7 +121,7 @@
         benchSrc = extractHelper benchToFiles benches
         foreignSrc = extractHelper foreignToFiles foreigns
 
-        dirHelper f xs = (fmap (++ [pathSeparator]) . hsSourceDirs . f <=< extract) =<< xs
+        dirHelper f xs = (fmap ((++ [pathSeparator]) . getSymbolicPath) . hsSourceDirs . f <=< extract) =<< xs
 
         dir = dirHelper libBuildInfo libs
         exeDir = dirHelper buildInfo exes
