diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+0.2.1
+-----
+* Fix build with GHC 7.8
+
 0.2.0
 ----
 * Don’t clear cache on clock overflow. This means that elements are
diff --git a/lrucaching.cabal b/lrucaching.cabal
--- a/lrucaching.cabal
+++ b/lrucaching.cabal
@@ -1,5 +1,5 @@
 name:                  lrucaching
-version:               0.2.0
+version:               0.2.1
 synopsis:              LRU cache
 description:           Please see README.md
 homepage:              https://github.com/cocreature/lrucaching#readme
@@ -20,11 +20,12 @@
   exposed-modules:     Data.LruCache
                        Data.LruCache.IO
                        Data.LruCache.Internal
-  build-depends:       base     >= 4.7  && < 5
-                     , deepseq  >= 1.4  && < 1.5
-                     , hashable >= 1.2  && < 1.3
-                     , psqueues >= 0.2  && < 0.3
-                     , vector   >= 0.11 && < 0.12
+  build-depends:       base        >= 4.7  && < 5
+                     , base-compat >= 0.9  && < 0.10
+                     , deepseq     >= 1.4  && < 1.5
+                     , hashable    >= 1.2  && < 1.3
+                     , psqueues    >= 0.2  && < 0.3
+                     , vector      >= 0.11 && < 0.12
   ghc-options:         -Wall
   default-language:    Haskell2010
 
diff --git a/src/Data/LruCache.hs b/src/Data/LruCache.hs
--- a/src/Data/LruCache.hs
+++ b/src/Data/LruCache.hs
@@ -21,7 +21,7 @@
 
 import qualified Data.HashPSQ as HashPSQ
 import           Data.Hashable (Hashable)
-import           Data.List (sortOn)
+import           Data.List.Compat (sortOn)
 import           Data.Maybe (isNothing)
 import           Prelude hiding (lookup)
 
