diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,6 +1,18 @@
 # ChangeLog
 
-## Unreleased
+## 0.7.22
+
+* Fix test compilation on platforms where libc lacks POSIX `timer_t`
+  (e.g. macOS), so `System.Posix.Types.CTimer` is not exported. The test
+  guarded `[t| CTimer |]` with `#if MIN_VERSION_base(4,10,0)`, but
+  `CTimer`'s availability is platform-dependent (gated on `HTYPE_TIMER_T`
+  by base's `configure`), not base-version-dependent. Use `lookupTypeName`
+  to detect the symbol at splice time.
+  See [#185][].
+
+[#185]: https://github.com/mgsloan/store/pull/185
+
+## 0.7.21
 
 * Fix test compilation on GHC 9.10+, where `template-haskell` types
   (`Type`, `TySynEqn`, `PkgName`, etc.) live in `GHC.Internal.TH.Syntax`
diff --git a/store.cabal b/store.cabal
--- a/store.cabal
+++ b/store.cabal
@@ -1,11 +1,11 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.39.1.
+-- This file has been generated from package.yaml by hpack version 0.39.5.
 --
 -- see: https://github.com/sol/hpack
 
 name:           store
-version:        0.7.21
+version:        0.7.22
 synopsis:       Fast binary serialization
 category:       Serialization, Data
 homepage:       https://github.com/mgsloan/store#readme
diff --git a/test/Data/StoreSpec.hs b/test/Data/StoreSpec.hs
--- a/test/Data/StoreSpec.hs
+++ b/test/Data/StoreSpec.hs
@@ -345,6 +345,7 @@
 spec = do
     describe "Store on all monomorphic instances"
         $(do insts <- getAllInstanceTypes1 ''Store
+             ctimer <- maybe [] (pure . conT) <$> lookupTypeName "CTimer"
              omitTys0 <- sequence $
 #if !MIN_VERSION_primitive(0,7,0)
                  [t| Addr |] :
@@ -356,14 +357,13 @@
                  , [t| TypeHash |]
                  , [t| Fd |]
                  , [t| NameFlavour |]
-#if MIN_VERSION_base(4,10,0)
-                 , [t| CTimer |]
-#endif
+                 ]
+              ++ ctimer
 
 -- Assume the TH generated instances for Time work, to avoid defining
 -- Serial instances. Also some lack Show / Eq.
 
-                 , [t| Time.AbsoluteTime |]
+              ++ [ [t| Time.AbsoluteTime |]
                  , [t| Time.Day |]
                  , [t| Time.LocalTime |]
                  , [t| Time.TimeOfDay |]
