diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 39266a2822..f21a30e805 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -731,66 +731,77 @@ (define-public python-pydyf
 (define-public mupdf
   (package
     (name "mupdf")
-    (version "1.19.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://mupdf.com/downloads/archive/"
-                           "mupdf-" version "-source.tar.xz"))
-       (sha256
-        (base32 "0gl0wf16m1cafs20h3v1f4ysf7zlbijjyd6s1r1krwvlzriwdsmm"))
-       (modules '((guix build utils)))
-       (snippet
-        #~(begin
-            ;; Remove bundled software.
-            (let* ((keep (list "extract"
-                               "lcms2")) ; different from our lcms2 package
-                   (from "thirdparty")
-                   (kept (string-append from "~temp")))
-              (mkdir-p kept)
-              (for-each (lambda (file)
-                          (rename-file (string-append from "/" file)
-                                       (string-append kept "/" file)))
-                        keep)
-              (delete-file-recursively from)
-              (rename-file kept from))))))
+    (version "1.20.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://mupdf.com/downloads/archive/"
+                                  "mupdf-" version "-source.tar.lz"))
+              (sha256
+               (base32
+                "0s0qclxxdjis04mczgz0fhfpv0j8llk48g82zlfrk0daz0zgcwvg"))
+              (modules '((guix build utils)))
+              (snippet #~(begin
+                           (let* ((keep (list "extract" "freeglut" "lcms2"))
+                                  (from "thirdparty")
+                                  (kept (string-append from "~temp")))
+                             (mkdir-p kept)
+                             (for-each (lambda (file)
+                                         (rename-file (string-append from "/"
+                                                                     file)
+                                                      (string-append kept "/"
+                                                                     file)))
+                                       keep)
+                             (delete-file-recursively from)
+                             (rename-file kept from))))))
     (build-system gnu-build-system)
-    (inputs
-     (list curl
-           freeglut
-           freetype
-           gumbo-parser
-           harfbuzz
-           jbig2dec
-           libjpeg-turbo
-           libx11
-           libxext
-           mujs
-           openjpeg
-           openssl
-           zlib))
-    (native-inputs
-     (list pkg-config))
+    (inputs (list curl
+                  libxrandr
+                  libxi
+                  freeglut ;for GL/gl.h
+                  freetype
+                  gumbo-parser
+                  harfbuzz
+                  jbig2dec
+                  libjpeg-turbo
+                  libx11
+                  libxext
+                  mujs
+                  openjpeg
+                  openssl
+                  zlib))
+    (native-inputs (list pkg-config))
     (arguments
-     (list
-       #:tests? #f                      ; no check target
-       #:make-flags
-       #~(list "verbose=yes"
-               (string-append "CC=" #$(cc-for-target))
-               "XCFLAGS=-fpic"
-               "USE_SYSTEM_LIBS=yes"
-               "USE_SYSTEM_MUJS=yes"
-               "shared=yes"
-               ;; Even with the linkage patch we must fix RUNPATH.
-               (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")
-               (string-append "prefix=" #$output))
-        #:phases
-        #~(modify-phases %standard-phases
-            (delete 'configure))))      ; no configure script
+     (list #:tests? #f ;no check target
+           #:make-flags #~(list "verbose=yes"
+                           (string-append "CC="
+                                          #$(cc-for-target))
+                           "XCFLAGS=-fpic"
+                           "USE_SYSTEM_FREETYPE=yes"
+                           "USE_SYSTEM_GUMBO=yes"
+                           "USE_SYSTEM_HARFBUZZ=yes"
+                           "USE_SYSTEM_JBIG2DEC=yes"
+                           "USE_SYSTEM_JPEGXR=no # not available"
+                           "USE_SYSTEM_LCMS2=no # lcms2mt is strongly preferred"
+                           "USE_SYSTEM_LIBJPEG=yes"
+                           "USE_SYSTEM_MUJS=no # not available"
+                           "USE_SYSTEM_OPENJPEG=yes"
+                           "USE_SYSTEM_ZLIB=yes"
+                           "USE_SYSTEM_GLUT=no"
+                           "USE_SYSTEM_CURL=yes"
+                           "USE_SYSTEM_LEPTONICA=yes"
+                           "USE_SYSTEM_TESSERACT=yes"
+                           "USE_SYSTEM_MUJS=yes"
+                           "shared=yes"
+                           (string-append "LDFLAGS=-Wl,-rpath="
+                                          #$output "/lib")
+                           (string-append "prefix="
+                                          #$output))
+           #:phases #~(modify-phases %standard-phases
+                        (delete 'configure)))) ;no configure script
     (home-page "https://mupdf.com")
     (synopsis "Lightweight PDF viewer and toolkit")
     (description
-      "MuPDF is a C library that implements a PDF and XPS parsing and
+     "MuPDF is a C library that implements a PDF and XPS parsing and
 rendering engine.  It is used primarily to render pages into bitmaps,
 but also provides support for other operations such as searching and
 listing the table of contents and hyperlinks.
@@ -799,9 +810,9 @@ (define-public mupdf
 line tools for batch rendering @command{pdfdraw}, rewriting files
 @command{pdfclean}, and examining the file structure @command{pdfshow}.")
     (license (list license:agpl3+
-                   license:bsd-3 ; resources/cmaps
-                   license:x11 ; thirdparty/lcms2
-                   license:silofl1.1 ; resources/fonts/{han,noto,sil,urw}
+                   license:bsd-3 ;resources/cmaps
+                   license:x11 ;thirdparty/lcms2
+                   license:silofl1.1 ;resources/fonts/{han,noto,sil,urw}
                    license:asl2.0)))) ; resources/fonts/droid
 
 (define-public qpdf
