diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # cpkg
 
+## 0.2.5.8
+
+  * Fix something for `base` 4.18.*
+
 ## 0.2.5.0
 
   * Add `package set:` info to `dhall --version`
diff --git a/cpkg.cabal b/cpkg.cabal
--- a/cpkg.cabal
+++ b/cpkg.cabal
@@ -1,6 +1,6 @@
 cabal-version:      1.18
 name:               cpkg
-version:            0.2.5.7
+version:            0.2.5.8
 license:            BSD3
 license-file:       LICENSE
 copyright:          Copyright: (c) 2018-2020 Vanessa McHale
@@ -34,7 +34,7 @@
 
 library
     exposed-modules:  Package.C
-    build-tools:      cpphs -any
+    build-tools:      cpphs >=0
     hs-source-dirs:   src
     other-modules:
         Package.C.Dhall
@@ -76,33 +76,33 @@
     build-depends:
         base >=4.11 && <5,
         containers >=0.6.0.0,
-        text -any,
-        temporary -any,
-        bytestring -any,
-        zlib -any,
+        text,
+        temporary,
+        bytestring,
+        zlib,
         bz2 >=0.1.1.0,
-        lzma -any,
-        zip-archive -any,
-        prettyprinter -any,
-        http-client -any,
-        http-client-tls -any,
+        lzma,
+        zip-archive,
+        prettyprinter >=1.7.0,
+        http-client,
+        http-client-tls,
         directory >=1.3.1.0,
-        filepath -any,
-        process -any,
-        mtl -any,
-        hashable -any,
-        binary -any,
-        microlens -any,
+        filepath,
+        process,
+        mtl,
+        hashable,
+        binary,
+        microlens,
         recursion >=2.2.3.0,
-        filemanip -any,
-        network-uri -any,
-        megaparsec -any,
+        filemanip,
+        network-uri,
+        megaparsec,
         libarchive >=2.2.5.0,
         dir-traverse >=0.2.1.0,
         composition-prelude >=1.5.2.0,
         lzlib >=0.3.0.0,
         dhall >=1.29.0,
-        zstd -any
+        zstd
 
     if (flag(development) && impl(ghc <=8.2))
         ghc-options: -Werror
@@ -122,11 +122,11 @@
     default-language: Haskell2010
     ghc-options:      -threaded -rtsopts "-with-rtsopts=-N -qg" -Wall
     build-depends:
-        base -any,
-        cpkg -any,
-        optparse-applicative -any,
-        directory -any,
-        text -any,
+        base,
+        cpkg,
+        optparse-applicative,
+        directory,
+        text,
         dhall >=1.29.0
 
     if (flag(development) && impl(ghc <=8.2))
@@ -147,11 +147,11 @@
     default-language: Haskell2010
     ghc-options:      -threaded -rtsopts "-with-rtsopts=-N -K1K" -Wall
     build-depends:
-        base -any,
-        cpkg -any,
-        hspec -any,
-        hspec-megaparsec -any,
-        megaparsec -any
+        base,
+        cpkg,
+        hspec,
+        hspec-megaparsec,
+        megaparsec
 
     if flag(development)
         ghc-options: -Werror
diff --git a/dhall/cpkg-prelude.dhall b/dhall/cpkg-prelude.dhall
--- a/dhall/cpkg-prelude.dhall
+++ b/dhall/cpkg-prelude.dhall
@@ -777,7 +777,7 @@
 
         in  { var = "PYTHONPATH", value = flag }
 
-let mkPy3Path = mkPyPath [ 3, 8 ]
+let mkPy3Path = mkPyPath [ 3, 9 ]
 
 let mesonCfgFile =
       λ(cfg : types.BuildVars) →
@@ -1019,11 +1019,11 @@
               , pkgBuildDeps = [ unbounded "python${major}" ]
               }
 
-let python3Build = pythonBuild [ 3, 8 ]
+let python3Build = pythonBuild [ 3, 9 ]
 
-let python3Install = pythonInstall [ 3, 8 ]
+let python3Install = pythonInstall [ 3, 9 ]
 
-let python3Package = pythonPackage [ 3, 8 ]
+let python3Package = pythonPackage [ 3, 9 ]
 
 let python2Package = pythonPackage [ 2, 7 ]
 
@@ -1111,7 +1111,7 @@
             , symlinkBinary wrapped
             ]
 
-let mkPy3Wrapper = mkPyWrapper [ 3, 8 ]
+let mkPy3Wrapper = mkPyWrapper [ 3, 9 ]
 
 let mkPy2Wrapper = mkPyWrapper [ 2, 7 ]
 
@@ -1126,7 +1126,7 @@
             (λ(bin : Text) → mkPyWrapper version bin cfg)
             binNames
 
-let installWithPy3Wrappers = installWithPyWrappers [ 3, 8 ]
+let installWithPy3Wrappers = installWithPyWrappers [ 3, 9 ]
 
 let mkLDPathWrapper =
       λ(cfg : types.BuildVars) →
diff --git a/pkgs/pkg-set.dhall b/pkgs/pkg-set.dhall
--- a/pkgs/pkg-set.dhall
+++ b/pkgs/pkg-set.dhall
@@ -1,9 +1,11 @@
 {- Dhall prelue imports -}
 let concatMapSep =
-      https://raw.githubusercontent.com/dhall-lang/dhall-lang/9f259cd68870b912fbf2f2a08cd63dc3ccba9dc3/Prelude/Text/concatMapSep sha256:c272aca80a607bc5963d1fcb38819e7e0d3e72ac4d02b1183b1afb6a91340840
+      https://raw.githubusercontent.com/dhall-lang/dhall-lang/9f259cd68870b912fbf2f2a08cd63dc3ccba9dc3/Prelude/Text/concatMapSep
+        sha256:c272aca80a607bc5963d1fcb38819e7e0d3e72ac4d02b1183b1afb6a91340840
 
 let concat =
-      https://raw.githubusercontent.com/dhall-lang/dhall-lang/dbcf50c27b1592a6acfd38cb3ba976e3a36b74fe/Prelude/Text/concat sha256:731265b0288e8a905ecff95c97333ee2db614c39d69f1514cb8eed9259745fc0
+      https://raw.githubusercontent.com/dhall-lang/dhall-lang/dbcf50c27b1592a6acfd38cb3ba976e3a36b74fe/Prelude/Text/concat
+        sha256:731265b0288e8a905ecff95c97333ee2db614c39d69f1514cb8eed9259745fc0
 
 let types = ../dhall/cpkg-types.dhall
 
@@ -144,7 +146,7 @@
               "https://curl.haxx.se/download/curl-${prelude.showVersion
                                                       v}.tar.xz"
           , installCommand = prelude.installWithBinaries [ "bin/curl" ]
-          , pkgDeps = [ prelude.unbounded "zlib" ]
+          , pkgDeps = [ prelude.unbounded "zlib", prelude.unbounded "brotli" ]
           }
 
 let dbus =
@@ -372,7 +374,14 @@
                   "https://www.nasm.us/pub/nasm/releasebuilds/${versionString}/nasm-${versionString}.tar.xz"
               , pkgSubdir = "nasm-${versionString}"
               , installCommand =
-                  prelude.installWithBinaries [ "bin/nasm", "bin/ndisasm" ]
+                  λ(cfg : types.BuildVars) →
+                      prelude.installWithBinaries
+                        [ "bin/nasm", "bin/ndisasm" ]
+                        cfg
+                    # prelude.symlinkManpages
+                        [ { file = "share/man/man1/nasm.1", section = 1 }
+                        , { file = "share/man/man1/ndisasm.1", section = 1 }
+                        ]
               }
 
 let ncurses =
@@ -542,7 +551,11 @@
               prelude.configureMkExesExtraFlags
                 { bins =
                   [ "src/configure", "src/auto/configure", "src/which.sh" ]
-                , extraFlags = [ "--enable-gui=no", "--enable-pythoninterp" ]
+                , extraFlags =
+                  [ "--enable-gui=no"
+                  , "--enable-pythoninterp"
+                  , "--enable-fail-if-missing"
+                  ]
                 }
           , installCommand =
               λ(cfg : types.BuildVars) →
@@ -765,7 +778,8 @@
         ⫽ { configureCommand =
               λ(cfg : types.BuildVars) →
                   [ prelude.patch
-                      ./patches/m4.patch sha256:1fecaf9238401d3fdcad92516f7c45e866e50630eae7efdaaee0da943a532b23 as Text
+                      ./patches/m4.patch
+                        sha256:1fecaf9238401d3fdcad92516f7c45e866e50630eae7efdaaee0da943a532b23 as Text
                   ]
                 # prelude.defaultConfigure cfg
           , installCommand =
@@ -1308,19 +1322,22 @@
 let xproto =
       mkXProtoWithPatch
         "xproto"
-        ./patches/xproto.patch sha256:325215e1b547918dfe63278824cda399e61a36b6f11896c863dfacc0cb06e322 as Text
+        ./patches/xproto.patch
+          sha256:325215e1b547918dfe63278824cda399e61a36b6f11896c863dfacc0cb06e322 as Text
 
 let renderproto =
       mkXProtoWithPatch
         "renderproto"
-        ./patches/renderproto.patch sha256:f2f154171dabe139ba07f8602fbada3b23f3d53b5773655cfe31cba2ceb70295 as Text
+        ./patches/renderproto.patch
+          sha256:f2f154171dabe139ba07f8602fbada3b23f3d53b5773655cfe31cba2ceb70295 as Text
 
 let randrproto = mkXProto "randrproto"
 
 let scrnsaverproto =
       mkXProtoWithPatch
         "scrnsaverproto"
-        ./patches/scrnsaverproto.patch sha256:31983d73cdf49e8d8ed2583593f57b47d889062ae7f5bc5934a59e1e5e3e81f3 as Text
+        ./patches/scrnsaverproto.patch
+          sha256:31983d73cdf49e8d8ed2583593f57b47d889062ae7f5bc5934a59e1e5e3e81f3 as Text
 
 let recordproto = mkXProto "recordproto"
 
@@ -1439,7 +1456,8 @@
               , configureCommand =
                   λ(cfg : types.BuildVars) →
                     [ prelude.patch
-                        ./patches/intltool.patch sha256:e33e9b3e43d80a17475e36c05ed4e649fa5d610991044749e6321dff555cc8e5 as Text
+                        ./patches/intltool.patch
+                          sha256:e33e9b3e43d80a17475e36c05ed4e649fa5d610991044749e6321dff555cc8e5 as Text
                     , prelude.call
                         (   prelude.defaultCall
                           ⫽ { program = "./configure"
@@ -1701,7 +1719,6 @@
                                   , value =
                                       (prelude.mkLDFlags cfg.linkDirs cfg).value
                                   }
-                                , prelude.mkPy3Path cfg.linkDirs
                                 , prelude.libPath cfg
                                 , prelude.mkCFlags cfg
                                 , prelude.mkPkgConfigVar cfg.linkDirs
@@ -2148,7 +2165,8 @@
 let xineramaproto =
       mkXProtoWithPatch
         "xineramaproto"
-        ./patches/xineramaproto.patch sha256:cc2dec3895d71256bfb878ab420bb63ad6708e17a1785805473760bb9d98a310 as Text
+        ./patches/xineramaproto.patch
+          sha256:cc2dec3895d71256bfb878ab420bb63ad6708e17a1785805473760bb9d98a310 as Text
 
 let xtrans = mkXLib "xtrans"
 
@@ -2188,7 +2206,8 @@
 let xextproto =
       mkXProtoWithPatch
         "xextproto"
-        ./patches/xextproto.patch sha256:67185f1122233556a40a3d3df5a4967aca8533be62112f3c5e393308b70f3217 as Text
+        ./patches/xextproto.patch
+          sha256:67185f1122233556a40a3d3df5a4967aca8533be62112f3c5e393308b70f3217 as Text
 
 let fixesproto = mkXProto "fixesproto"
 
@@ -3800,7 +3819,8 @@
           , configureCommand =
               λ(cfg : types.BuildVars) →
                   [ prelude.patch
-                      ./patches/pHash.patch sha256:d442c0bb6c66893badf8642d8c8123026f21e78513f91af422c4d4ee70a28d50 as Text
+                      ./patches/pHash.patch
+                        sha256:d442c0bb6c66893badf8642d8c8123026f21e78513f91af422c4d4ee70a28d50 as Text
                   , prelude.call
                       { program = "autoreconf"
                       , arguments = [ "-i" ]
@@ -3835,7 +3855,7 @@
           prelude.simplePackage { name = "ffmpeg", version = v }
         ⫽ { pkgUrl =
               "https://ffmpeg.org/releases/ffmpeg-${prelude.showVersion
-                                                      v}.tar.bz2"
+                                                      v}.tar.xz"
           , pkgBuildDeps = [ prelude.unbounded "nasm" ]
           , configureCommand =
               prelude.configureWithFlags
@@ -4743,7 +4763,7 @@
 
         in    prelude.simplePackage { name = "rlwrap", version = v }
             ⫽ { pkgUrl =
-                  "https://github.com/hanslub42/rlwrap/releases/download/v${versionString}/rlwrap-${versionString}.tar.gz"
+                  "https://github.com/hanslub42/rlwrap/releases/download/${versionString}/rlwrap-${versionString}.tar.gz"
               }
 
 let guile =
@@ -4852,6 +4872,88 @@
           , configureCommand = guileConfigure
           }
 
+let pax =
+      λ(v : Natural) →
+          prelude.simplePackage { name = "pax", version = [ v ] }
+        ⫽ { pkgUrl =
+              "http://www.mirbsd.org/MirOS/dist/mir/cpio/paxmirabilis-${Natural/show
+                                                                          v}.tgz"
+          , pkgSubdir = "pax"
+          , configureCommand = prelude.doNothing
+          , buildCommand =
+              λ(_ : types.BuildVars) →
+                [ prelude.mkExe "Build.sh"
+                , prelude.call
+                    { program = "./Build.sh"
+                    , arguments = [] : List Text
+                    , environment = None (List types.EnvVar)
+                    , procDir = None Text
+                    }
+                ]
+          , installCommand =
+              λ(_ : types.BuildVars) →
+                  [ prelude.copyFile "pax" "bin/pax"
+                  , prelude.copyFile "tar" "bin/tar"
+                  , prelude.copyFile "cpio" "bin/cpio"
+                  , prelude.copyFile "pax.1" "share/man/man1/pax.1"
+                  , prelude.symlinkBinary "bin/pax"
+                  ]
+                # prelude.symlinkManpages
+                    [ { file = "share/man/man1/pax.1", section = 1 } ]
+          }
+
+let cpio =
+      λ(v : List Natural) →
+          prelude.makeGnuExe { name = "cpio", version = v }
+        ⫽ { pkgUrl =
+              "https://ftp.gnu.org/gnu/cpio/cpio-${prelude.showVersion
+                                                     v}.tar.bz2"
+          }
+
+let brotli =
+      λ(v : List Natural) →
+          prelude.simplePackage { name = "brotli", version = v }
+        ⫽ prelude.cmakePackage
+        ⫽ { pkgUrl =
+              "https://github.com/google/brotli/archive/v${prelude.showVersion
+                                                             v}.tar.gz"
+          }
+
+let audacity =
+      λ(v : List Natural) →
+        let versionString = prelude.showVersion v
+
+        in    prelude.simplePackage { name = "audacity", version = v }
+            ⫽ prelude.cmakePackage
+            ⫽ { pkgUrl =
+                  "https://github.com/audacity/audacity/archive/Audacity-${versionString}.tar.gz"
+              , pkgSubdir = "audacity-Audacity-${versionString}"
+              , pkgDeps = [ prelude.unbounded "gtk2" ]
+              }
+
+let wxwidgets =
+      λ(v : List Natural) →
+        let versionString = prelude.showVersion v
+
+        in    prelude.simplePackage { name = "wxWidgets", version = v }
+            ⫽ { pkgUrl =
+                  "https://github.com/wxWidgets/wxWidgets/releases/download/v${versionString}/wxWidgets-${versionString}.tar.bz2"
+              , pkgDeps = [ prelude.unbounded "gtk3" ]
+              }
+
+let yasm =
+      λ(v : List Natural) →
+          prelude.simplePackage { name = "yasm", version = v }
+        ⫽ { pkgUrl =
+              "http://www.tortall.net/projects/yasm/releases/yasm-${prelude.showVersion
+                                                                      v}.tar.gz"
+          , installCommand =
+              λ(cfg : types.BuildVars) →
+                  prelude.installWithBinaries [ "bin/yasm" ] cfg
+                # prelude.symlinkManpages
+                    [ { file = "share/man/man1/yasm.1", section = 1 } ]
+          }
+
 in  [ alsa-lib [ 1, 1, 9 ]
     , apr [ 1, 7, 0 ]
     , apr-util [ 1, 6, 1 ]
@@ -4859,6 +4961,7 @@
     , at-spi-core { version = [ 2, 33 ], patch = 2 }
     , atk { version = [ 2, 36 ], patch = 0 }
     , ats [ 0, 4, 2 ]
+    , audacity [ 2, 4, 2 ]
     , autoconf [ 2, 69 ]
     , automake [ 1, 16, 2 ]
     , babl { version = [ 0, 1 ], patch = 68 }
@@ -4867,6 +4970,7 @@
     , binutils [ 2, 35, 1 ]
     , bison [ 3, 5 ]
     , blas [ 3, 8, 0 ]
+    , brotli [ 1, 0, 9 ]
     , busybox [ 1, 31, 1 ]
     , bytestructures [ 1, 0, 7 ]
     , bzip2 [ 1, 0, 8 ]
@@ -4875,12 +4979,13 @@
     , cimg [ 2, 7, 0 ]
     , clang [ 9, 0, 0 ]
     , clzip [ 1, 11 ]
-    , cmake { version = [ 3, 18 ], patch = 2 }
+    , cmake { version = [ 3, 19 ], patch = 1 }
     , cmark [ 0, 29, 0 ]
     , compositeproto [ 0, 4 ]
     , coreutils [ 8, 32 ]
+    , cpio [ 2, 13 ]
     , ctags [ 5, 8 ]
-    , curl [ 7, 66, 0 ]
+    , curl [ 7, 72, 0 ]
     , damageproto [ 1, 2, 1 ]
     , dbus [ 1, 13, 18 ]
     , diffutils [ 3, 7 ]
@@ -4893,7 +4998,7 @@
     , expat [ 2, 2, 9 ]
     , fdk-aac [ 2, 0, 1 ]
     , feh [ 3, 2, 1 ]
-    , ffmpeg [ 4, 2, 2 ]
+    , ffmpeg [ 4, 3, 1 ]
     , fftw [ 3, 3, 8 ]
     , findutils [ 4, 7, 0 ]
     , fixesproto [ 5, 0 ]
@@ -4907,7 +5012,7 @@
     , gawk [ 5, 0, 1 ]
     , gc [ 8, 0, 4 ]
     , gcc [ 10, 2, 0 ]
-    , gdb [ 8, 3, 1 ]
+    , gdb [ 10, 1 ]
     , gdk-pixbuf { version = [ 2, 38 ], patch = 1 }
     , gegl { version = [ 0, 4 ], patch = 16 }
     , gettext [ 0, 21 ]
@@ -4958,7 +5063,7 @@
     , lcms2 [ 2, 9 ]
     , leptonica [ 1, 78, 0 ]
     , libarchive [ 3, 4, 3 ]
-    , libass [ 0, 14, 0 ]
+    , libass [ 0, 15, 0 ]
     , libassuan [ 2, 5, 3 ]
     , libatomic_ops [ 7, 6, 10 ]
     , libav [ 12, 3 ]
@@ -5009,8 +5114,8 @@
     , libwebp [ 1, 0, 3 ]
     , libSM [ 1, 2, 3 ]
     , libthai [ 0, 1, 28 ]
-    , libvorbis [ 1, 3, 6 ]
-    , libvpx [ 1, 8, 2 ]
+    , libvorbis [ 1, 3, 7 ]
+    , libvpx [ 1, 9, 0 ]
     , libX11 [ 1, 6, 12 ]
     , libXau [ 1, 0, 9 ]
     , libXaw [ 1, 0, 13 ]
@@ -5065,7 +5170,7 @@
     , ncurses [ 6, 2 ]
     , nginx [ 1, 15, 7 ]
     , ninja [ 1, 10, 1 ]
-    , node [ 12, 18, 4 ]
+    , node [ 14, 16, 0 ]
     , npth [ 1, 6 ]
     , nspr [ 4, 20 ]
     , openblas [ 0, 3, 2 ]
@@ -5076,21 +5181,22 @@
     , pango { version = [ 1, 43 ], patch = 0 }
     , pari [ 2, 11, 1 ]
     , patch [ 2, 7, 6 ]
+    , pax 20200904
     , pcre [ 8, 44 ]
     , pcre2 [ 10, 35 ]
     , pdfgrep [ 2, 1, 2 ]
-    , perl5 [ 5, 30, 2 ]
+    , perl5 [ 5, 32, 1 ]
     , phash [ 0, 9, 6 ]
     , pixman [ 0, 40, 0 ]
     , pkg-config [ 0, 29, 2 ]
     , poppler [ 20, 9, 0 ]
     , postgresql [ 12, 2 ]
     , protobuf [ 3, 8, 0 ]
-    , pycairo [ 1, 18, 1 ]
+    , pycairo [ 1, 20, 0 ]
     , pygobject { version = [ 2, 28 ], patch = 7 }
     , pygtk { version = [ 2, 24 ], patch = 0 }
     , python [ 2, 7, 17 ]
-    , python [ 3, 8, 5 ]
+    , python [ 3, 9, 0 ]
     , qrencode [ 4, 1, 0 ]
     , qt { version = [ 5, 13 ], patch = 0 }
     , quazip [ 0, 8, 1 ]
@@ -5101,7 +5207,7 @@
     , readline [ 8, 0 ]
     , recordproto [ 1, 14, 2 ]
     , renderproto [ 0, 11, 1 ]
-    , rlwrap [ 0, 43 ]
+    , rlwrap [ 0, 44 ]
     , ruby { version = [ 2, 7 ], patch = 1 }
     , rustc [ 1, 46, 0 ]
     , scour [ 0, 37 ]
@@ -5131,6 +5237,7 @@
     , wayland [ 1, 17, 0 ]
     , wget [ 1, 20, 3 ]
     , which [ 2, 21 ]
+    , wxwidgets [ 3, 1, 4 ]
     , xcb-proto [ 1, 13 ]
     , xextproto [ 7, 3, 0 ]
     , xf86vidmodeproto [ 2, 3, 1 ]
@@ -5139,6 +5246,7 @@
     , xproto [ 7, 0, 31 ]
     , xtrans [ 1, 4, 0 ]
     , xz [ 5, 2, 5 ]
+    , yasm [ 1, 3, 0 ]
     , zlib [ 1, 2, 11 ]
     , zstd [ 1, 4, 5 ]
     ]
diff --git a/src/CPkgPrelude.hs b/src/CPkgPrelude.hs
--- a/src/CPkgPrelude.hs
+++ b/src/CPkgPrelude.hs
@@ -36,18 +36,18 @@
                    , getAppUserDataDirectory
                    ) where
 
-import           Control.Composition       ((<=*<))
+import           Control.Composition    ((<=*<))
 import           Control.Monad
-import           Control.Monad.IO.Class    (MonadIO (..))
-import           Data.Binary               (Binary)
+import           Control.Monad.IO.Class (MonadIO (..))
+import           Data.Binary            (Binary)
 import           Data.Foldable
-import           Data.Functor              (($>))
-import           Data.Hashable             (Hashable)
-import           Data.Text.Prettyprint.Doc
-import           Data.Void                 (Void)
-import           Dhall                     (FromDhall, ToDhall)
-import           GHC.Generics              (Generic)
-import           GHC.Natural               (Natural)
-import           Lens.Micro                (Lens', over)
+import           Data.Functor           (($>))
+import           Data.Hashable          (Hashable)
+import           Data.Void              (Void)
+import           Dhall                  (FromDhall, ToDhall)
+import           GHC.Generics           (Generic)
+import           GHC.Natural            (Natural)
+import           Lens.Micro             (Lens', over)
+import           Prettyprinter
 import           System.Directory
-import           System.FilePath           ((</>))
+import           System.FilePath        ((</>))
diff --git a/src/Data/Text/Prettyprint/Doc/Custom.hs b/src/Data/Text/Prettyprint/Doc/Custom.hs
--- a/src/Data/Text/Prettyprint/Doc/Custom.hs
+++ b/src/Data/Text/Prettyprint/Doc/Custom.hs
@@ -6,8 +6,8 @@
                                         , dashed
                                         ) where
 
-import           Data.Foldable             (foldl')
-import           Data.Text.Prettyprint.Doc
+import           Data.Foldable (foldl')
+import           Prettyprinter
 
 infixr 5 <#>
 infixr 5 <##>
diff --git a/src/Package/C/Dhall/Type.hs b/src/Package/C/Dhall/Type.hs
--- a/src/Package/C/Dhall/Type.hs
+++ b/src/Package/C/Dhall/Type.hs
@@ -9,13 +9,13 @@
                             ) where
 
 import qualified Data.Text                        as T
-import           Data.Text.Prettyprint.Doc
 import           Data.Text.Prettyprint.Doc.Custom
 import           Dhall
 import           GHC.Natural                      (Natural)
 import           Package.C.Triple.Type
 import           Package.C.Type.Shared
 import           Package.C.Type.Version
+import           Prettyprinter
 
 data BuildVars = BuildVars { installDir   :: T.Text
                            , currentDir   :: T.Text
diff --git a/src/Package/C/Error.hs b/src/Package/C/Error.hs
--- a/src/Package/C/Error.hs
+++ b/src/Package/C/Error.hs
@@ -11,9 +11,9 @@
                        ) where
 
 import           CPkgPrelude
-import           Data.Text.Prettyprint.Doc
 import           Data.Text.Prettyprint.Doc.Custom
-import           Data.Text.Prettyprint.Doc.Render.Text
+import           Prettyprinter
+import           Prettyprinter.Render.Text
 import           System.Exit
 
 data PackageError = Unrecognized String
diff --git a/src/Package/C/Fetch.hs b/src/Package/C/Fetch.hs
--- a/src/Package/C/Fetch.hs
+++ b/src/Package/C/Fetch.hs
@@ -24,6 +24,7 @@
                    | ".tar.bz2" `isSuffixOf` s = pure $ Tar Bz2
                    | ".tar.lz" `isSuffixOf` s = pure $ Tar Lz
                    | ".tar.zst" `isSuffixOf` s = pure $ Tar Zstd
+                   | ".cpio.gz" `isSuffixOf` s = pure $ Cpio Gz
                    | ".tar" `isSuffixOf` s = pure $ Tar None
                    | ".zip" `isSuffixOf` s = pure Zip
                    | otherwise = unrecognized s
diff --git a/src/Package/C/Logging.hs b/src/Package/C/Logging.hs
--- a/src/Package/C/Logging.hs
+++ b/src/Package/C/Logging.hs
@@ -5,6 +5,7 @@
                          , putLoud
                          ) where
 
+import           Control.Monad            (when)
 import           Control.Monad.Reader
 import           Package.C.Type.Verbosity
 
diff --git a/src/Package/C/PackageSet.hs b/src/Package/C/PackageSet.hs
--- a/src/Package/C/PackageSet.hs
+++ b/src/Package/C/PackageSet.hs
@@ -11,17 +11,17 @@
 
 import           CPkgPrelude
 import           Data.Containers.ListUtils
-import           Data.List                             (find, intersperse)
-import qualified Data.Map                              as M
-import qualified Data.Text                             as T
-import           Data.Text.Prettyprint.Doc
+import           Data.List                        (find, intersperse)
+import qualified Data.Map                         as M
+import qualified Data.Text                        as T
 import           Data.Text.Prettyprint.Doc.Custom
-import           Data.Text.Prettyprint.Doc.Render.Text
-import           Dhall                                 hiding (maybe)
-import qualified Package.C.Dhall.Type                  as Dhall
+import           Dhall                            hiding (maybe)
+import qualified Package.C.Dhall.Type             as Dhall
 import           Package.C.Error
 import           Package.C.Type
 import           Package.C.Type.Tree
+import           Prettyprinter
+import           Prettyprinter.Render.Text
 
 defaultPackageSetHash :: T.Text
 defaultPackageSetHash = "sha256:172035e1adc2b2f0e4035e943125f6c7afb53e2e0055313709d0c4208eb83850"
diff --git a/src/Package/C/Unpack.hs b/src/Package/C/Unpack.hs
--- a/src/Package/C/Unpack.hs
+++ b/src/Package/C/Unpack.hs
@@ -22,6 +22,7 @@
                  | None
 
 data Compression = Tar TarCompress
+                 | Cpio TarCompress
                  | Zip
 
 
@@ -43,5 +44,6 @@
     extractFilesFromArchive [options] (toArchive response)
 
 unpackResponse :: Compression -> FilePath -> BSL.ByteString -> IO ()
-unpackResponse (Tar tarCmp) fp response = archiveResponse tarCmp fp response
-unpackResponse Zip fp response          = zipResponse fp response
+unpackResponse (Tar tarCmp) fp response  = archiveResponse tarCmp fp response
+unpackResponse (Cpio tarCmp) fp response = archiveResponse tarCmp fp response
+unpackResponse Zip fp response           = zipResponse fp response
