diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 0.3.0.2
+
+* http-client 0.5
+
 ## 0.3.0
 
 * Got rid of hackage-docs (use `stackage-upload` instead)
diff --git a/cabal-src.cabal b/cabal-src.cabal
--- a/cabal-src.cabal
+++ b/cabal-src.cabal
@@ -1,5 +1,5 @@
 Name:                cabal-src
-Version:             0.3.0.1
+Version:             0.3.0.2
 Synopsis:            Alternative install procedure to avoid the diamond dependency issue.
 Description:         Please see the README.md file on Github for more information: <https://github.com/yesodweb/cabal-src/blob/master/README.md>.
 License:             BSD3
diff --git a/mega-sdist.hs b/mega-sdist.hs
--- a/mega-sdist.hs
+++ b/mega-sdist.hs
@@ -40,8 +40,17 @@
 #endif
 getUrlHackage (Package a b) = do
     debug url
+#if MIN_VERSION_http_conduit(2, 2, 0)
+    req <- parseRequest url
+#else
     req <- parseUrl url
-    return req { responseTimeout = Nothing }
+#endif
+    return req
+#if MIN_VERSION_http_conduit(2, 2, 0)
+        { responseTimeout = responseTimeoutNone }
+#else
+        { responseTimeout = Nothing }
+#endif
   where
     url = concat
         [ "http://hackage.haskell.org/packages/archive/"
@@ -141,12 +150,15 @@
                 | otherwise -> do
                     reqH <- getUrlHackage package
                     resH <- runResourceT $ httpLbs reqH
+#if !MIN_VERSION_http_conduit(2, 2, 0)
 #if MIN_VERSION_http_conduit(1, 9, 0)
                         { checkStatus = \_ _ _ -> Nothing
 #else
                         { checkStatus = \_ _ -> Nothing
 #endif
-                        } m
+                        }
+#endif
+                        m
                     case () of
                         ()
                             | responseStatus resH == status404 || L.length (responseBody resH) == 0 -> do
