diff --git a/cabal-debian.cabal b/cabal-debian.cabal
--- a/cabal-debian.cabal
+++ b/cabal-debian.cabal
@@ -1,5 +1,5 @@
 Name:           cabal-debian
-Version:        4.38.1
+Version:        4.38.2
 Copyright:      Copyright (c) 2007-2014, David Fox, Jeremy Shaw
 License:        BSD3
 License-File:   LICENSE
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,40 @@
+haskell-cabal-debian (4.38.2) unstable; urgency=medium
+
+  * Support for Cabal-2.2
+
+ -- David Fox <dsf@seereason.com>  Tue, 03 Jul 2018 07:48:47 -0700
+
+haskell-cabal-debian (4.38) unstable; urgency=medium
+
+  * It turns out we now need to install the profiling libraries for
+    executable and test suite build dependencies.
+
+ -- David Fox <dsf@trusty>  Sat, 28 Apr 2018 09:14:20 -0700
+
+haskell-cabal-debian (4.37) unstable; urgency=medium
+
+  * Decouple the website building code from the rest.
+
+ -- David Fox <dsf@genie>  Fri, 27 Apr 2018 14:28:42 -0700
+
+haskell-cabal-debian (4.36.1) unstable; urgency=medium
+
+  * Disable some debug output.
+
+ -- David Fox <dsf@genie>  Wed, 22 Nov 2017 03:42:18 -0800
+
+haskell-cabal-debian (4.36) unstable; urgency=medium
+
+  * Support for Cabal-2
+
+ -- David Fox <dsf@seereason.com>  Fri, 13 Oct 2017 00:11:19 -0700
+
+haskell-cabal-debian (4.35.7) unstable; urgency=low
+
+  * Remove logrotate from standard server package site config.
+
+ -- David Fox <dsf@foxthompson.net>  Sun, 11 Dec 2016 12:26:58 -0800
+
 haskell-cabal-debian (4.35.6) unstable; urgency=low
 
   * Restore ghc-7.6.3 support
diff --git a/debian/control b/debian/control
--- a/debian/control
+++ b/debian/control
@@ -1,15 +1,14 @@
 Source: haskell-cabal-debian
-Maintainer: David Fox <dsf@seereason.com>
-Priority: extra
+Maintainer: Debian Haskell Group <pkg-haskell-maintainers@lists.alioth.debian.org>
+Priority: optional
 Section: haskell
 Build-Depends: debhelper (>= 9),
  haskell-devscripts-minimal | haskell-devscripts (>= 0.8),
  cdbs,
  ghc,
  ghc-prof,
- ghc | libghc-cabal-dev (>= 1.16),
- ghc | libghc-cabal-dev (>= 1.18),
- ghc-prof | libghc-cabal-prof (>= 1.18),
+ libghc-cabal-dev (>= 1.18) | ghc,
+ libghc-cabal-prof (>= 1.18) | ghc-prof,
  libghc-diff-dev (>= 0.3.1),
  libghc-diff-prof (>= 0.3.1),
  libghc-hunit-dev,
@@ -34,16 +33,12 @@
  libghc-lens-prof,
  libghc-memoize-dev (>= 0.7),
  libghc-memoize-prof (>= 0.7),
- libghc-mtl-dev,
- libghc-mtl-prof,
  libghc-network-uri-dev,
  libghc-network-uri-prof,
  libghc-newtype-generics-dev (>= 0.4),
  libghc-newtype-generics-prof (>= 0.4),
  libghc-optparse-applicative-dev (>= 0.11),
  libghc-optparse-applicative-prof (>= 0.11),
- libghc-parsec3-dev (>= 3),
- libghc-parsec3-prof (>= 3),
  libghc-puremd5-dev,
  libghc-puremd5-prof,
  libghc-regex-tdfa-dev,
@@ -52,12 +47,12 @@
  libghc-set-extra-prof,
  libghc-syb-dev,
  libghc-syb-prof,
- libghc-text-dev,
- libghc-text-prof,
  libghc-utf8-string-dev,
  libghc-utf8-string-prof,
+ libghc-cabal-dev (>= 1.16) | ghc,
+ libghc-cabal-prof (>= 1.16) | ghc-prof,
 Build-Depends-Indep: ghc-doc,
- ghc-doc | libghc-cabal-doc,
+ libghc-cabal-doc | ghc-doc,
  libghc-diff-doc,
  libghc-hunit-doc,
  libghc-unixutils-doc,
@@ -69,18 +64,15 @@
  libghc-hsemail-doc,
  libghc-lens-doc,
  libghc-memoize-doc,
- libghc-mtl-doc,
  libghc-network-uri-doc,
  libghc-newtype-generics-doc,
  libghc-optparse-applicative-doc,
- libghc-parsec3-doc,
  libghc-puremd5-doc,
  libghc-regex-tdfa-doc,
  libghc-set-extra-doc,
  libghc-syb-doc,
- libghc-text-doc,
  libghc-utf8-string-doc,
-Standards-Version: 3.9.3
+Standards-Version: 3.9.6
 Homepage: https://github.com/ddssff/cabal-debian
 X-Description: Create a Debianization for a Cabal package
  This package supports the generation of a package Debianization (i.e.
diff --git a/debian/copyright b/debian/copyright
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,4 +1,4 @@
-Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
 Upstream-Name: cabal-debian
 Upstream-Contact: David Fox <dsf@seereason.com>
 Source: https://hackage.haskell.org/package/cabal-debian
diff --git a/debian/watch b/debian/watch
--- a/debian/watch
+++ b/debian/watch
@@ -1,2 +1,2 @@
 version=3
-http://hackage.haskell.org/package/cabal-debian/distro-monitor .*-([0-9\.]+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
+https://hackage.haskell.org/package/cabal-debian/distro-monitor .*-([0-9\.]+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
diff --git a/src/Debian/Debianize/Bundled.hs b/src/Debian/Debianize/Bundled.hs
--- a/src/Debian/Debianize/Bundled.hs
+++ b/src/Debian/Debianize/Bundled.hs
@@ -139,6 +139,7 @@
 dropRequiredSuffix suff x =
     let (x', suff') = splitAt (length x - length suff) x in if suff == suff' then Just x' else Nothing
 
+-- | A list of the files in a binary deb
 binPkgFiles :: String -> BinPkgName -> [FilePath]
 binPkgFiles root hcname = lines $ unsafePerformIO (chroot root (readProcess "dpkg" ["-L", unBinPkgName hcname] ""))
 
diff --git a/src/Debian/Debianize/CopyrightDescription.hs b/src/Debian/Debianize/CopyrightDescription.hs
--- a/src/Debian/Debianize/CopyrightDescription.hs
+++ b/src/Debian/Debianize/CopyrightDescription.hs
@@ -44,11 +44,15 @@
 import Debug.Trace
 import qualified Distribution.License as Cabal (License(UnknownLicense))
 import qualified Distribution.Package as Cabal
+#if MIN_VERSION_Cabal(2,2,0)
+import qualified Distribution.PackageDescription as Cabal (PackageDescription(licenseFiles, copyright, licenseRaw, package, maintainer))
+#else
 #if MIN_VERSION_Cabal(1,20,0)
 import qualified Distribution.PackageDescription as Cabal (PackageDescription(licenseFiles, copyright, license, package, maintainer))
 #else
 import qualified Distribution.PackageDescription as Cabal (PackageDescription(licenseFile, copyright, license, package, maintainer))
 #endif
+#endif
 import Network.URI (URI, parseURI)
 import Prelude hiding (init, init, log, log, unlines, readFile)
 import Text.PrettyPrint.HughesPJClass (Pretty(pPrint), text)
@@ -237,7 +241,11 @@
   where
     mkLicenseDescription (path, txt) =
       LicenseDescription {
+#if MIN_VERSION_Cabal(2,2,0)
           _license = fromCabalLicense (Cabal.UnknownLicense path)
+#else
+          _license = fromCabalLicense (Cabal.UnknownLicense path)
+#endif
         , _licenseText = txt
         , _comment = mempty
         }
@@ -254,7 +262,11 @@
 #else
   let (debianCopyrightPath, otherLicensePaths) = partition (== "debian/copyright") [Cabal.licenseFile pkgDesc]
 #endif
+#if MIN_VERSION_Cabal(2,2,0)
+      license =  either (\x -> OtherLicense ("SPDX license: " ++ show x)) fromCabalLicense $ Cabal.licenseRaw pkgDesc
+#else
       license = fromCabalLicense $ Cabal.license pkgDesc
+#endif
       pkgname = unPackageName . Cabal.pkgName . Cabal.package $ pkgDesc
       maintainer = Cabal.maintainer $ pkgDesc
   -- This is an @Nothing@ unless debian/copyright is (for some
diff --git a/src/Debian/Debianize/InputCabal.hs b/src/Debian/Debianize/InputCabal.hs
--- a/src/Debian/Debianize/InputCabal.hs
+++ b/src/Debian/Debianize/InputCabal.hs
@@ -28,10 +28,21 @@
 import Distribution.Package (Package(packageId))
 import Distribution.PackageDescription as Cabal (PackageDescription)
 import Distribution.PackageDescription.Configuration (finalizePackageDescription)
+#if MIN_VERSION_Cabal(2,2,0)
+import Distribution.PackageDescription.Parsec (readGenericPackageDescription)
+#else
+#if MIN_VERSION_Cabal(2,0,0)
 import Distribution.PackageDescription.Parse (readGenericPackageDescription)
+#else
+import Distribution.PackageDescription.Parse (readPackageDescription)
+#endif
+#endif
 import Distribution.Simple.Utils (defaultPackageDesc, die, setupMessage)
 import Distribution.System as Cabal (buildArch, Platform(..))
 import qualified Distribution.System as Cabal (buildOS)
+#if MIN_VERSION_Cabal(2,2,0)
+import Distribution.Types.GenericPackageDescription (mkFlagAssignment)
+#endif
 import Distribution.Verbosity (Verbosity)
 import Prelude hiding (break, lines, log, null, readFile, sum)
 import System.Directory (doesFileExist, getCurrentDirectory)
@@ -57,8 +68,16 @@
         -- Load a GenericPackageDescription from the current directory
         -- and from that create a finalized PackageDescription for the
         -- given CompilerId.
+#if MIN_VERSION_Cabal(2,0,0)
         genPkgDesc <- liftIO $ defaultPackageDesc vb >>= readGenericPackageDescription vb
+#else
+        genPkgDesc <- liftIO $ defaultPackageDesc vb >>= readPackageDescription vb
+#endif
+#if MIN_VERSION_Cabal(2,2,0)
+        let finalized = finalizePackageDescription (mkFlagAssignment (toList fs)) (const True) (Platform buildArch Cabal.buildOS) cinfo [] genPkgDesc
+#else
         let finalized = finalizePackageDescription (toList fs) (const True) (Platform buildArch Cabal.buildOS) cinfo [] genPkgDesc
+#endif
         ePkgDesc <- either (return . Left)
                            (\ (pkgDesc, _) -> do liftIO $ bracket (setFileCreationMask 0o022) setFileCreationMask $ \ _ -> autoreconf vb pkgDesc
                                                  return (Right pkgDesc))
