diff --git a/gnss-converters.cabal b/gnss-converters.cabal
--- a/gnss-converters.cabal
+++ b/gnss-converters.cabal
@@ -1,85 +1,92 @@
-name:                  gnss-converters
-version:               0.2.9
-synopsis:              GNSS Converters.
-description:           Haskell bindings for GNSS converters.
-homepage:              http://github.com/swift-nav/gnss-converters
-license:               BSD3
-author:                Mark Fine <mark@swiftnav.com>, Joshua Gross <josh@swiftnav.com>
-maintainer:            Swift Navigation <dev@swiftnav.com>
-copyright:             Copyright (C) 2016, 2017 Swift Navigation, Inc.
-category:              Network
-build-type:            Simple
-cabal-version:         >= 1.10
+name: gnss-converters
+version: 0.2.10
+cabal-version: >=1.22
+build-type: Simple
+license: BSD3
+copyright: Copyright (C) 2016, 2017 Swift Navigation, Inc.
+maintainer: Swift Navigation <dev@swiftnav.com>
+homepage: http://github.com/swift-nav/gnss-converters
+synopsis: GNSS Converters.
+description:
+    Haskell bindings for GNSS converters.
+category: Network
+author: Mark Fine <mark@swiftnav.com>, Joshua Gross <josh@swiftnav.com>
 
 source-repository head
-  type:                git
-  location:            https://github.com/swift-nav/gnss-converters
+    type: git
+    location: https://github.com/swift-nav/gnss-converters
 
 library
-  hs-source-dirs:      src
-  exposed-modules:     Data.RTCM3.SBP
-                     , Data.RTCM3.SBP.Types
-                     , SwiftNav.SBP.RTCM3
-  ghc-options:         -Wall
-  build-depends:       base >= 4.7 && < 5
-                     , basic-prelude
-                     , conduit-extra
-                     , exceptions
-                     , extra
-                     , lens
-                     , monad-control
-                     , mtl
-                     , resourcet
-                     , rtcm
-                     , sbp
-                     , time
-                     , transformers-base
-                     , unordered-containers
-  default-language:    Haskell2010
+    exposed-modules:
+        Data.RTCM3.SBP
+        Data.RTCM3.SBP.Types
+        SwiftNav.SBP.RTCM3
+    build-depends:
+        base >=4.8 && <5,
+        basic-prelude >=0.5.2,
+        conduit-extra >=1.1.16,
+        exceptions >=0.8.3,
+        extra >=1.4.10,
+        lens >=4.13,
+        monad-control >=1.0.1.0,
+        mtl >=2.2.1,
+        resourcet >=1.1.9,
+        rtcm >=0.1.12,
+        sbp >=2.2.7,
+        time >=1.5.0.1,
+        transformers-base >=0.4.4,
+        unordered-containers >=0.2.8.0
+    default-language: Haskell2010
+    hs-source-dirs: src
+    ghc-options: -Wall
 
 executable sbp2rtcm3
-  hs-source-dirs:      main
-  main-is:             SBP2RTCM3.hs
-  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
-  build-depends:       base
-                     , basic-prelude
-                     , gnss-converters
-  default-language:    Haskell2010
+    main-is: SBP2RTCM3.hs
+    build-depends:
+        base >=4.8.2.0,
+        basic-prelude >=0.5.2,
+        gnss-converters >=0.2.10
+    default-language: Haskell2010
+    hs-source-dirs: main
+    ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
 
 executable rtcm32sbp
-  hs-source-dirs:      main
-  main-is:             RTCM32SBP.hs
-  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
-  build-depends:       base
-                     , basic-prelude
-                     , binary-conduit
-                     , conduit
-                     , conduit-extra
-                     , gnss-converters
-                     , resourcet
-  default-language:    Haskell2010
+    main-is: RTCM32SBP.hs
+    build-depends:
+        base >=4.8.2.0,
+        basic-prelude >=0.5.2,
+        binary-conduit >=1.2.4.1,
+        conduit >=1.2.10,
+        conduit-extra >=1.1.16,
+        gnss-converters >=0.2.10,
+        resourcet >=1.1.9
+    default-language: Haskell2010
+    hs-source-dirs: main
+    ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
 
 test-suite test
-  type:                exitcode-stdio-1.0
-  hs-source-dirs:      test
-  main-is:             Test.hs
-  other-modules:       Test.Data.RTCM3.SBP
-  build-depends:       HUnit-approx
-                     , base
-                     , basic-prelude
-                     , binary
-                     , binary-conduit
-                     , bytestring
-                     , conduit
-                     , conduit-extra
-                     , gnss-converters
-                     , lens
-                     , resourcet
-                     , rtcm
-                     , sbp
-                     , tasty
-                     , tasty-hunit
-                     , text
-                     , unordered-containers
-  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
-  default-language:    Haskell2010
+    type: exitcode-stdio-1.0
+    main-is: Test.hs
+    build-depends:
+        HUnit-approx >=1.1,
+        base >=4.8.2.0,
+        basic-prelude >=0.5.2,
+        binary >=0.7.5.0,
+        binary-conduit >=1.2.4.1,
+        bytestring >=0.10.6.0,
+        conduit >=1.2.10,
+        conduit-extra >=1.1.16,
+        gnss-converters >=0.2.10,
+        lens >=4.13,
+        resourcet >=1.1.9,
+        rtcm >=0.1.12,
+        sbp >=2.2.7,
+        tasty >=0.11.2.1,
+        tasty-hunit >=0.9.2,
+        text >=1.2.2.2,
+        unordered-containers >=0.2.8.0
+    default-language: Haskell2010
+    hs-source-dirs: test
+    other-modules:
+        Test.Data.RTCM3.SBP
+    ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
diff --git a/test/Test/Data/RTCM3/SBP.hs b/test/Test/Data/RTCM3/SBP.hs
--- a/test/Test/Data/RTCM3/SBP.hs
+++ b/test/Test/Data/RTCM3/SBP.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP               #-}
 {-# LANGUAGE FlexibleContexts  #-}
 {-# LANGUAGE LambdaCase        #-}
 {-# LANGUAGE NoImplicitPrelude #-}
@@ -28,7 +29,6 @@
 import           Data.IORef
 import           Data.RTCM3.SBP
 import           Data.RTCM3.SBP.Types
-import qualified Data.Text                         as T
 import           SwiftNav.SBP
 import           Test.HUnit.Approx
 import           Test.Tasty
@@ -101,7 +101,11 @@
       def         = (0, 0, 0)
       (p, c, snr) = lookupDefault def prn truth
       code        = obs ^. packedObsContent_sid ^. gnssSignal16_code
+#if MIN_VERSION_basic_prelude(0,6,1)
+      msg'        = "PRN=" ++ show prn ++ " CODE=" ++ show code
+#else
       msg'        = textToString $ "PRN=" ++ show prn ++ " CODE=" ++ show code
+#endif
   -- Pseudorange representation error
   assertApproxEqual ("Incorrect pseudorange" ++ msg')   ptol p $ pseudorange obs
   -- Carrier phase representation error
@@ -384,7 +388,11 @@
 
   where
     testN n expected =
-      let s = T.unpack $ show n in
+#if MIN_VERSION_basic_prelude(0,6,1)
+      let s = show n in
+#else
+      let s = textToString $ show n in
+#endif
       testCase s $ assertEqual s expected $ gpsUriToUra n
 
 tests :: TestTree
