diff --git a/cabal2nix.cabal b/cabal2nix.cabal
--- a/cabal2nix.cabal
+++ b/cabal2nix.cabal
@@ -1,5 +1,5 @@
 name:               cabal2nix
-version:            2.14.1
+version:            2.14.2
 synopsis:           Convert Cabal files into Nix build instructions.
 description:
   Convert Cabal files into Nix build instructions. Users of Nix can install the latest
@@ -74,7 +74,7 @@
                     Александр Цамутали
 maintainer:         Peter Simons <simons@cryp.to>
 stability:          stable
-tested-with:        GHC == 8.4.4, GHC == 8.6.3
+tested-with:        GHC == 8.6.3
 category:           Distribution, Nix
 homepage:           https://github.com/nixos/cabal2nix#readme
 bug-reports:        https://github.com/nixos/cabal2nix/issues
@@ -107,15 +107,15 @@
                       Distribution.Nixpkgs.Haskell.PackageSourceSpec
   other-modules:      Paths_cabal2nix
   hs-source-dirs:     src
-  build-depends:      base                 < 5
-                    , Cabal                > 2.2
+  build-depends:      base                 > 4.11
+                    , Cabal                > 2.4
                     , aeson
                     , ansi-wl-pprint
                     , bytestring
                     , containers
                     , deepseq              >= 1.4
                     , directory
-                    , distribution-nixpkgs >= 1.1.1
+                    , distribution-nixpkgs >= 1.2
                     , filepath
                     , hackage-db           >= 2.0.1
                     , hopenssl             >= 2
@@ -159,13 +159,13 @@
                       Paths_cabal2nix
   hs-source-dirs:     hackage2nix
   build-depends:      base                 < 5
-                    , Cabal                > 2.2
+                    , Cabal                > 2.4
                     , aeson
                     , bytestring
                     , cabal2nix
                     , containers
                     , directory
-                    , distribution-nixpkgs >= 1.1.1
+                    , distribution-nixpkgs >= 1.2
                     , filepath
                     , hopenssl             >= 2
                     , language-nix
@@ -185,7 +185,7 @@
   main-is:            Main.hs
   hs-source-dirs:     test
   build-depends:      base
-                    , Cabal        > 2.2
+                    , Cabal        > 2.4
                     , cabal2nix
                     , containers
                     , directory
diff --git a/hackage2nix/Main.hs b/hackage2nix/Main.hs
--- a/hackage2nix/Main.hs
+++ b/hackage2nix/Main.hs
@@ -1,6 +1,5 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RecordWildCards #-}
-{-# LANGUAGE CPP #-}
 
 module Main ( main ) where
 
@@ -15,9 +14,6 @@
 import Data.Map.Strict ( Map )
 import qualified Data.Map.Strict as Map
 import Data.Maybe
-#if !MIN_VERSION_base(4,11,0)
-import Data.Monoid
-#endif
 import Data.Set ( Set )
 import qualified Data.Set as Set
 import Data.String
@@ -30,7 +26,7 @@
 import Distribution.Nixpkgs.Meta
 import Distribution.Nixpkgs.PackageMap
 import Distribution.Package
-import Distribution.PackageDescription hiding ( options, buildDepends, extraLibs, buildTools, homepage )
+import Distribution.PackageDescription hiding ( options, extraLibs, buildTools, homepage )
 import Distribution.System
 import Distribution.Text
 import Distribution.Version
@@ -75,13 +71,13 @@
   CLI {..} <- execParser pinfo
 
   config <- readConfiguration (nixpkgsRepository </>  configFile)
-  nixpkgs <- readNixpkgPackageMap nixpkgsRepository Nothing
+  nixpkgs <- readNixpkgPackageMap ["-f", nixpkgsRepository, "--arg", "config", "{ allowAliases = false; }"]
   preferredVersions <- readPreferredVersions (fromMaybe (hackageRepository </> "preferred-versions") preferredVersionsFile)
   let fixup = Map.delete "acme-everything"      -- TODO: https://github.com/NixOS/cabal2nix/issues/164
             . Map.delete "som"                  -- TODO: https://github.com/NixOS/cabal2nix/issues/164
             . Map.delete "type"                 -- TODO: https://github.com/NixOS/cabal2nix/issues/163
             . Map.delete "control-invariants"   -- TODO: depends on "assert"
-            . over (at ("hermes")) ((fmap (set (contains "1.3.4.3") False)))  -- TODO: https://github.com/haskell/hackage-server/issues/436
+            . over (at "hermes") (fmap (set (contains "1.3.4.3") False))  -- TODO: https://github.com/haskell/hackage-server/issues/436
   hackage <- fixup <$> readHackage hackageRepository
   let
       hackagePackagesFile :: FilePath
@@ -137,7 +133,7 @@
       meta <- readPackageMeta hackageRepository pkgId
 
       let isInDefaultPackageSet :: Bool
-          isInDefaultPackageSet = maybe False (== v) (Map.lookup name generatedDefaultPackageSet)
+          isInDefaultPackageSet = (== Just v) (Map.lookup name generatedDefaultPackageSet)
 
           tarballSHA256 :: SHA256Hash
           tarballSHA256 = fromMaybe (error (display pkgId ++ ": meta data has no hash for the tarball"))
@@ -159,7 +155,7 @@
                   & metaSection.homepage .~ ""
 
           overrides :: Doc
-          overrides = fcat $ punctuate space [ disp b <> semi | b <- Set.toList ((view (dependencies . each) drv) `Set.union` view extraFunctionArgs drv), not (isFromHackage b) ]
+          overrides = fcat $ punctuate space [ disp b <> semi | b <- Set.toList (view (dependencies . each) drv `Set.union` view extraFunctionArgs drv), not (isFromHackage b) ]
       return $ render $ nest 2 $
         hang (doubleQuotes (text  attr) <+> equals <+> text "callPackage") 2 (parens (pPrint drv)) <+> (braces overrides <> semi)
 
diff --git a/src/Distribution/Nixpkgs/Haskell/FromCabal.hs b/src/Distribution/Nixpkgs/Haskell/FromCabal.hs
--- a/src/Distribution/Nixpkgs/Haskell/FromCabal.hs
+++ b/src/Distribution/Nixpkgs/Haskell/FromCabal.hs
@@ -136,10 +136,10 @@
     resolveInNixpkgs :: Identifier -> Binding
     resolveInNixpkgs i
       | i `elem` ["clang","lldb","llvm"] = binding # (i, path # ["self","llvmPackages",i])     -- TODO: evil!
-      | i == "gtk2"                      = binding # (i, path # ["pkgs","gnome2","gtk"])
-      | i == "gtk3"                      = binding # (i, path # ["pkgs","gnome3","gtk"])
-      | i == "gtksourceview3"            = binding # (i, path # ["pkgs","gnome3","gtksourceview"])
-      | i == "vte_291"                  = binding # (i, path # ["pkgs","gnome3","vte"])
+      | i == "gtk2"                      = binding # (i, path # ["pkgs","gtk2"])               -- TODO: these cases should not be necessary
+      | i == "gtk3"                      = binding # (i, path # ["pkgs","gtk3"])
+      | i == "gtksourceview3"            = binding # (i, path # ["pkgs","gtksourceview3"])
+      | i == "vte_291"                   = binding # (i, path # ["pkgs","vte"])
       | Just p <- nixpkgsResolver i, init (view (reference . path) p) `Set.member` goodScopes = p
       | otherwise                        = bindNull i
 
diff --git a/src/Distribution/Nixpkgs/Haskell/FromCabal/Flags.hs b/src/Distribution/Nixpkgs/Haskell/FromCabal/Flags.hs
--- a/src/Distribution/Nixpkgs/Haskell/FromCabal/Flags.hs
+++ b/src/Distribution/Nixpkgs/Haskell/FromCabal/Flags.hs
@@ -26,6 +26,7 @@
                                   , enable "dbus"
                                   , disable "debuglocks"
                                   , enable "magicmime"
+                                  , disable "networkbsd"
                                   , enable "pairing"
                                   , enable "production"
                                   , enable "s3"
diff --git a/src/Distribution/Nixpkgs/Haskell/FromCabal/Name.hs b/src/Distribution/Nixpkgs/Haskell/FromCabal/Name.hs
--- a/src/Distribution/Nixpkgs/Haskell/FromCabal/Name.hs
+++ b/src/Distribution/Nixpkgs/Haskell/FromCabal/Name.hs
@@ -55,7 +55,7 @@
 libNixName "GLU"                                = ["libGLU","libGL"]
 libNixName "glut"                               = ["freeglut","libGLU","libGL"]
 libNixName "gnome-keyring"                      = return "gnome-keyring"
-libNixName "gnome-keyring-1"                    = return "libgnome_keyring"
+libNixName "gnome-keyring-1"                    = return "libgnome-keyring"
 libNixName "gnome-vfs-2.0"                      = return "gnome-vfs"
 libNixName "gnome-vfs-module-2.0"               = return "gnome-vfs_module"
 libNixName "gobject-2.0"                        = return "glib"
@@ -84,8 +84,8 @@
 libNixName "Imlib2"                             = return "imlib2"
 libNixName "iw"                                 = return "wirelesstools"
 libNixName "jack"                               = return "libjack2"
-libNixName "javascriptcoregtk-3.0"              = return "webkitgtk24x-gtk3"     -- These are the old APIs, of which 2.4 is the last provider, so map directly to that.
-libNixName "javascriptcoregtk-4.0"              = return "webkitgtk"    -- This is the current API, so let it reference an alias for the latest version.
+libNixName "javascriptcoregtk-3.0"              = return "webkitgtk24x-gtk3"    -- These are the old APIs, of which 2.4 is the last provider, so map directly to that.
+libNixName "javascriptcoregtk-4.0"              = return "webkitgtk"
 libNixName "jpeg"                               = return "libjpeg"
 libNixName "jvm"                                = return "jdk"
 libNixName "lapack"                             = return "liblapack"
@@ -94,6 +94,7 @@
 libNixName "libavutil"                          = return "ffmpeg"
 libNixName "libgsasl"                           = return "gsasl"
 libNixName "libpcre"                            = return "pcre"
+libNixName "libqrencode"                        = return "qrencode"
 libNixName "libR"                               = return "R"
 libNixName "libsoup-gnome-2.4"                  = return "libsoup"
 libNixName "libsystemd"                         = return "systemd"
@@ -153,8 +154,9 @@
 libNixName "wayland-cursor"                     = return "wayland"
 libNixName "wayland-egl"                        = return "libGL"
 libNixName "wayland-server"                     = return "wayland"
-libNixName "webkit2gtk-4.0"                     = return "webkitgtk"    -- This is the current API, so let it reference an alias for the latest version.
-libNixName "webkit2gtk-web-extension-4.0"       = return "webkitgtk-web-extension"  -- This package doesn't actually exist in nixpkgs at present.
+libNixName "webkit2gtk"                         = return "webkitgtk"
+libNixName "webkit2gtk-4.0"                     = return "webkitgtk"
+libNixName "webkit2gtk-web-extension-4.0"       = return "webkitgtk"
 libNixName "webkitgtk-3.0"                      = return "webkitgtk24x-gtk3"     -- These are the old APIs, of which 2.4 is the last provider, so map directly to that
 libNixName "X11"                                = return "libX11"
 libNixName "x11"                                = return "xlibsWrapper"
diff --git a/src/Distribution/Nixpkgs/Haskell/FromCabal/PostProcess.hs b/src/Distribution/Nixpkgs/Haskell/FromCabal/PostProcess.hs
--- a/src/Distribution/Nixpkgs/Haskell/FromCabal/PostProcess.hs
+++ b/src/Distribution/Nixpkgs/Haskell/FromCabal/PostProcess.hs
@@ -148,7 +148,8 @@
   , ("numeric-qq", set doCheck False) -- test suite doesn't finish even after 1+ days
   , ("opencv", opencvOverrides)
   , ("pandoc >= 1.16.0.2 && < 2.5", set doCheck False) -- https://github.com/jgm/pandoc/issues/2709 and https://github.com/fpco/stackage/issues/1332
-  , ("pandoc", pandocOverrides)
+  , ("pandoc < 2.6", pandocPre26Overrides)
+  , ("pandoc >= 2.6", pandocOverrides)
   , ("pandoc-citeproc", set doCheck False) -- https://github.com/jgm/pandoc-citeproc/issues/369
   , ("purescript", set doCheck False) -- test suite doesn't cope with Nix build env
   , ("proto-lens-protobuf-types", set (libraryDepends . tool . contains (pkg "protobuf")) True)
@@ -383,11 +384,20 @@
                     , "pkgs.xorg.libXmu"
                     ]
 
-pandocOverrides :: Derivation -> Derivation
-pandocOverrides = set phaseOverrides postInstall
+pandocPre26Overrides :: Derivation -> Derivation
+pandocPre26Overrides = set phaseOverrides postInstall
   where
     postInstall = unlines [ "postInstall = ''"
                           , "  mkdir -p $out/share"
                           , "  mv $data/*/*/man $out/share/"
+                          , "'';"
+                          ]
+
+pandocOverrides :: Derivation -> Derivation
+pandocOverrides = set phaseOverrides postInstall
+  where
+    postInstall = unlines [ "postInstall = ''"
+                          , "  mkdir -p $out/share/man/man1"
+                          , "  mv \"man/\"*.1 $out/share/man/man1/"
                           , "'';"
                           ]
