diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,11 @@
+pandoc (1.19.2.2)
+
+  * Fix build with GHC 8.2.1 (#3876, Peter Simons).  Setup.hs does not
+    compile with Cabal 2.x, so we require an earlier version via
+    setup-depends.  The following packages need newer versions with
+    GHC 8.2.1 and had their constraints relaxed accordingly:
+    executable-path, process, syb, and time.
+
 pandoc (1.19.2.1)
 
   * Require skylighting >= 0.1.1.4.
diff --git a/man/pandoc.1 b/man/pandoc.1
--- a/man/pandoc.1
+++ b/man/pandoc.1
@@ -1,5 +1,5 @@
 .\"t
-.TH PANDOC 1 "January 29, 2017" "pandoc 1.19.2.1"
+.TH PANDOC 1 "January 29, 2017" "pandoc 1.19.2.2"
 .SH NAME
 pandoc - general markup converter
 .SH SYNOPSIS
diff --git a/pandoc.cabal b/pandoc.cabal
--- a/pandoc.cabal
+++ b/pandoc.cabal
@@ -1,5 +1,5 @@
 Name:            pandoc
-Version:         1.19.2.1
+Version:         1.19.2.2
 Cabal-Version:   >= 1.10
 Build-Type:      Custom
 License:         GPL
@@ -251,16 +251,20 @@
   Description:   Use old-locale and time < 1.5
   Default:       False
 
+custom-setup
+  setup-depends: base,
+                 Cabal < 2
+
 Library
   Build-Depends: base >= 4.7 && <5,
-                 syb >= 0.1 && < 0.7,
+                 syb >= 0.1 && < 0.8,
                  containers >= 0.1 && < 0.6,
                  unordered-containers >= 0.2 && < 0.3,
                  array >= 0.3 && < 0.6,
                  parsec >= 3.1 && < 3.2,
                  mtl >= 2.2 && < 2.3,
                  filepath >= 1.1 && < 1.5,
-                 process >= 1 && < 1.5,
+                 process >= 1 && < 1.7,
                  directory >= 1 && < 1.4,
                  bytestring >= 0.9 && < 0.11,
                  text >= 0.11 && < 1.3,
@@ -270,8 +274,8 @@
                  xml >= 1.3.12 && < 1.4,
                  random >= 1 && < 1.2,
                  extensible-exceptions >= 0.1 && < 0.2,
-                 pandoc-types >= 1.17 && < 1.18,
-                 aeson >= 0.7 && < 1.2,
+                 pandoc-types >= 1.17 && < 1.17.1,
+                 aeson >= 0.7 && < 1.3,
                  tagsoup >= 0.13.7 && < 0.15,
                  base64-bytestring >= 0.1 && < 1.1,
                  zlib >= 0.5 && < 0.7,
@@ -284,7 +288,7 @@
                  scientific >= 0.2 && < 0.4,
                  vector >= 0.10 && < 0.13,
                  hslua >= 0.3 && < 0.5,
-                 binary >= 0.5 && < 0.9,
+                 binary >= 0.5 && < 0.10,
                  SHA >= 1.6 && < 1.7,
                  haddock-library >= 1.1 && < 1.5,
                  old-time,
@@ -298,7 +302,7 @@
      Build-Depends: old-locale >= 1 && < 1.1,
                     time >= 1.2 && < 1.5
   else
-     Build-Depends: time >= 1.5 && < 1.7
+     Build-Depends: time >= 1.5 && < 1.9
   if flag(network-uri)
      Build-Depends: network-uri >= 2.6 && < 2.7, network >= 2.6
   else
@@ -431,7 +435,7 @@
                  text >= 0.11 && < 1.3,
                  bytestring >= 0.9 && < 0.11,
                  extensible-exceptions >= 0.1 && < 0.2,
-                 skylighting >= 0.1.1.3 && < 0.2,
+                 skylighting >= 0.1.1.5 && < 0.2,
                  aeson >= 0.7.0.5 && < 1.2,
                  yaml >= 0.8.8.2 && < 0.9,
                  containers >= 0.1 && < 0.6,
@@ -498,24 +502,24 @@
      Hs-Source-Dirs: prelude
      Other-Modules:  Prelude
   Build-Depends:  base >= 4.2 && < 5,
-                  syb >= 0.1 && < 0.7,
+                  syb >= 0.1 && < 0.8,
                   pandoc,
                   pandoc-types >= 1.17 && < 1.18,
                   bytestring >= 0.9 && < 0.11,
                   text >= 0.11 && < 1.3,
                   directory >= 1 && < 1.4,
                   filepath >= 1.1 && < 1.5,
-                  process >= 1 && < 1.5,
+                  process >= 1 && < 1.7,
                   skylighting >= 0.1.1.3 && < 0.2,
                   Diff >= 0.2 && < 0.4,
                   test-framework >= 0.3 && < 0.9,
                   test-framework-hunit >= 0.2 && < 0.4,
                   test-framework-quickcheck2 >= 0.2.9 && < 0.4,
-                  QuickCheck >= 2.4 && < 2.10,
-                  HUnit >= 1.2 && < 1.6,
+                  QuickCheck >= 2.4 && < 2.11,
+                  HUnit >= 1.2 && < 1.7,
                   containers >= 0.1 && < 0.6,
-                  ansi-terminal >= 0.5 && < 0.7,
-                  executable-path >= 0.0 && < 0.1,
+                  ansi-terminal >= 0.5 && < 0.8,
+                  executable-path >= 0.0 && < 0.4,
                   zip-archive >= 0.2.3.4 && < 0.4
   Other-Modules:  Tests.Old
                   Tests.Helpers
@@ -553,7 +557,7 @@
      Other-Modules:  Prelude
   Build-Depends:   pandoc,
                    base >= 4.2 && < 5,
-                   syb >= 0.1 && < 0.7,
-                   criterion >= 1.0 && < 1.2
+                   syb >= 0.1 && < 0.8,
+                   criterion >= 1.0 && < 1.3
   Ghc-Options:   -rtsopts -Wall -fno-warn-unused-do-bind
   Default-Language: Haskell98
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -8,8 +8,7 @@
 packages:
 - '.'
 extra-deps:
+- pandoc-types-1.17.0.5
+- skylighting-0.1.1.5
 - texmath-0.9
-- doctemplates-0.1.0.2
-- pandoc-types-1.17.0.4
-- skylighting-0.1.1.4
-resolver: lts-7.14
+resolver: lts-9.2
