diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -9,6 +9,8 @@
 -- For now let the user (or CI system) know that it
 -- is not unusual for there to be no output for a
 -- long time.
+main = defaultMain
+{-
 main = defaultMainWithHooks simpleUserHooks {
   buildHook = \a b c d -> do
     void . forkIO $
@@ -19,3 +21,4 @@
         hFlush stdout
     buildHook simpleUserHooks a b c d
   }
+-}
diff --git a/jsaddle-dom.cabal b/jsaddle-dom.cabal
--- a/jsaddle-dom.cabal
+++ b/jsaddle-dom.cabal
@@ -1,7 +1,7 @@
 cabal-version: 2.2
 name: jsaddle-dom
-version: 0.9.5.0
-build-type: Custom
+version: 0.9.9.0
+build-type: Simple
 license: MIT
 license-file: LICENSE
 maintainer: Hamish Mackenzie <Hamish.K.Mackenzie@googlemail.com>
@@ -12,11 +12,6 @@
 category: Web
 author: Hamish Mackenzie
 
-custom-setup
-  setup-depends:
-    base  >=4.5 && <4.17,
-    Cabal >=2.4 && <3.7
-
 source-repository head
     type: git
     location: https://github.com/ghcjs/jsaddle-dom
@@ -29,9 +24,12 @@
 
     if impl(ghcjs -any)
         build-depends:
-            ghcjs-base >=0.2.0.0 && <0.3,
+            ghcjs-base >=0.2.0.0 && <0.9,
             ghcjs-prim -any,
             ghc-prim -any
+    if arch(javascript)
+        build-depends:
+            ghcjs-base -any
     exposed-modules:
         JSDOM.Custom.AudioContext
         JSDOM.Custom.Database
@@ -1219,11 +1217,11 @@
                         JSDOM.Generated.XSLTProcessor as JSDOM.XSLTProcessor
     build-depends:
         base >=4.7.0.0 && <5,
-        base-compat >=0.9.0 && <0.12,
+        base-compat >=0.9.0 && <0.14,
         exceptions >=0.8 && <0.11,
-        transformers >=0.2 && <0.6,
-        text >=0.11.0.6 && <1.3,
+        transformers >=0.2 && <0.7,
+        text >=0.11.0.6 && <2.2,
         jsaddle >=0.9.3.0 && <0.10,
-        lens >=4.12.3 && <4.20
+        lens >=4.12.3 && <5.3
     default-language: Haskell2010
     hs-source-dirs: src
