diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 1184a85938..b73acef3c5 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -124,6 +124,7 @@ (define-module (gnu packages qt)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages xml)
+  #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
 (define %qt-version "5.15.8")
@@ -315,27 +316,18 @@ (define-public grantlee
 system, and the core design of Django is reused in Grantlee.")
     (license license:lgpl2.1+)))
 
-(define (qt-urls component version)
-  "Return a list of URLs for VERSION of the Qt5 COMPONENT."
+(define (qt-url component version)
+  "Return a mirror URL for the Qt5 COMPONENT at VERSION."
   ;; We can't use a mirror:// scheme because these URLs are not exact copies:
   ;; the layout differs between them.
-  (list (string-append "https://download.qt.io/official_releases/qt/"
-                       (version-major+minor version) "/" version
-                       "/submodules/" component "-everywhere-opensource-src-"
-                       version ".tar.xz")
-        (string-append "https://download.qt.io/official_releases/qt/"
-                       (version-major+minor version) "/" version
-                       "/submodules/" component "-everywhere-src-"
-                       version ".tar.xz")
-        (string-append "https://download.qt.io/archive/qt/"
-                       (version-major+minor version) "/" version
-                       "/submodules/" component "-everywhere-opensource-src-"
-                       version ".tar.xz")
-        (let ((directory (string-append "qt5" (string-drop component 2))))
-          (string-append "http://sources.buildroot.net/" directory "/"
-                         component "-everywhere-opensource-src-" version ".tar.xz"))
-        (string-append "https://distfiles.macports.org/qt5/"
-                       component "-everywhere-opensource-src-" version ".tar.xz")))
+  (let ((x (match (version-major version)
+             ("5" "-everywhere-opensource-src-")
+             ;; Version 6 and later dropped 'opensource' from the archive
+             ;; names.
+             (_ "-everywhere-src-"))))
+    (string-append "mirror://qt/qt/"
+                   (version-major+minor version) "/" version
+                   "/submodules/" component x version ".tar.xz")))
 
 (define-public qtbase-5
   (package
@@ -343,7 +335,7 @@ (define-public qtbase-5
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "175ynjndpzsw69vnsq4swykn9f48568ww9b4z3yw7azkqwk13cdz"))
@@ -596,7 +588,7 @@ (define-public qtbase
     (version "6.3.2")
     (source (origin
               (inherit (package-source qtbase-5))
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "19m9r8sf9mvyrwipn44if3nhding4ljys2mwf04b7dkhz16vlabr"))
@@ -899,7 +891,7 @@ (define-public qt3d-5
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "18hbv4l9w0czaxcch6af9130fgs4sf400xp0pfzl81c78fwrkfsb"))))
@@ -961,7 +953,7 @@ (define-public qt5compat
     (version "6.3.2")
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "1k30hnwnlbay1hnkdavgf6plsdzrryzcqd2qz8x11r477w7sr8wi"))))
@@ -991,7 +983,7 @@ (define-public qtsvg-5
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "0qnmcvp5jap4qq9w7xak66g6fsb48q1lg02rn4lycvnhgwzblbww"))))
@@ -1059,7 +1051,7 @@ (define-public qtsvg
     (version "6.3.2")
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "14i3f23k9k0731akpwa6zzhw5m3c0m2l5r7irvim4h4faah445ac"))))
@@ -1090,7 +1082,7 @@ (define-public qtimageformats
     (version %qt-version)
     (source (origin
              (method url-fetch)
-             (uri (qt-urls name version))
+             (uri (qt-url name version))
              (sha256
               (base32
                "0c6fq9zcw5hbkiny56wx2fbm123x14l7habydv6zhvnhn3rhwi31"))
@@ -1117,7 +1109,7 @@ (define-public qtx11extras
     (version %qt-version)
     (source (origin
              (method url-fetch)
-             (uri (qt-urls name version))
+             (uri (qt-url name version))
              (sha256
               (base32
                "1gzmf0y2byzrgfbing7xk3cwlbk1cyjlhqjbfh8n37y09gg65maf"))))
@@ -1183,7 +1175,7 @@ (define-public qtxmlpatterns
     (version %qt-version)
     (source (origin
              (method url-fetch)
-             (uri (qt-urls name version))
+             (uri (qt-url name version))
              (sha256
               (base32
                "1inf7ar32a557faqpwdsmafhz1p6k8hywpw3wbsdjlj74dkgdq35"))))
@@ -1212,7 +1204,7 @@ (define-public qtdeclarative-5
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "1kb8nj17vmnky0ayiwypim7kf6rmlmfcjf6gnrw8rydmp61w0vh2"))))
@@ -1258,7 +1250,7 @@ (define-public qtdeclarative
     ;; TODO: Package 'masm' and unbundle from sources.
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "1hbw63828pp8vm9b46i2pkcbcpr4mq9nblhmpwrw2pflq0fi24xq"))))
@@ -1390,7 +1382,7 @@ (define-public qtconnectivity
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "1j6qgkg77ycwcjxnhh38i9np1z8pjsqrzvfk3zsyq07f6k563fnc"))))
@@ -1408,7 +1400,7 @@ (define-public qtwebsockets-5
     (version %qt-version)
     (source (origin
              (method url-fetch)
-             (uri (qt-urls name version))
+             (uri (qt-url name version))
              (sha256
               (base32
                "12h520lpj2pljgkyq36p1509mw4pxgb76n30d32kg52crjsk34pa"))))
@@ -1431,7 +1423,7 @@ (define-public qtwebsockets
     (version "6.3.2")
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "1smbvidaybphvsmaap9v1pbkibwmng11hb925g0ww4ghwzpxkb8q"))))
@@ -1471,7 +1463,7 @@ (define-public qtsensors
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "1fdpgbikvxjacyipcyac0czqhv96pvc75dl9cyafslws8m53fm56"))))
@@ -1500,7 +1492,7 @@ (define-public qtmultimedia-5
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "1fz0ffpckvbg6qfhab2rrzfnvh4mlalqxcn0kbkd21mi44apjirk"))
@@ -1544,7 +1536,7 @@ (define-public qtshadertools
     (version "6.3.2")
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               ;; Note: the source bundles *patched* glslang and SPIRV-Cross
               ;; sources.
               (sha256
@@ -1573,7 +1565,7 @@ (define-public qtmultimedia
     (version "6.3.2")
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "0hqwq0ad6z8c5kyyvbaddj00mciijn2ns2r60jc3mqh98nm2js3z"))
@@ -1639,7 +1631,7 @@ (define-public qtwayland-5
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (patches (search-patches "qtwayland-gcc-11.patch"
                                        "qtwayland-dont-recreate-callbacks.patch"
                                        "qtwayland-cleanup-callbacks.patch"))
@@ -1689,7 +1681,7 @@ (define-public qtwayland
     (source
      (origin
        (method url-fetch)
-       (uri (qt-urls name version))
+       (uri (qt-url name version))
        (sha256
         (base32 "0rwiirkibgpvx05pg2842j4dcq9ckxmcqxhaf50xx2i55z64ll83"))))
     (build-system cmake-build-system)
@@ -1739,7 +1731,7 @@ (define-public qtserialport
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "04i8pdyml1sw4dkk9vyw2xy5bz3fp6f90fws7ag5y8iizfgs5v2v"))))
@@ -1770,7 +1762,7 @@ (define-public qtserialbus
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "0ws3pjbp4g8f49k8q0qa5hgyisbyk3m7kl8pwzkfws048glvz570"))))
@@ -1797,7 +1789,7 @@ (define-public qtwebchannel-5
     (version %qt-version)
     (source (origin
              (method url-fetch)
-             (uri (qt-urls name version))
+             (uri (qt-url name version))
              (sha256
               (base32
                "1pfmy6fqis47awjb590r63y13vvsfm0fq70an3ylsknhyq3firgn"))))
@@ -1815,7 +1807,7 @@ (define-public qtwebchannel
     (version "6.3.2")
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "0gqm09yqdq27kgb02idx5ycj14k5mjhh10ddp9jfs8lblimlgfni"))))
@@ -1853,7 +1845,7 @@ (define-public qtwebglplugin
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "1gvzhgfn55kdp5g11fg5yja5xb6wghx5sfc8vfp8zzpxnak7pbn1"))))
@@ -1882,7 +1874,7 @@ (define-public qtwebview
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "1b03dzlff840n2i53r105c7sv91ivwzxn7ldpgnhiyrhr897i9kj"))))
@@ -1900,7 +1892,7 @@ (define-public qtlocation
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "0r16qxy0pfpwvna4gpz67jk3qv3qizfd659kc9iwdh8bhz7lpjrw"))))
@@ -1924,7 +1916,7 @@ (define-public qtlottie
     (version "6.3.2")
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "1c092hmf114r8jfdhkhxnn3vywj93mg33whzav47gr9mbza44icq"))))
@@ -1957,7 +1949,7 @@ (define-public qttools-5
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "1i79fwsn799x3n3jidp3f4gz9d5vi9gg6p8g8lbswb832gggigm3"))))
@@ -1977,7 +1969,7 @@ (define-public qttools
     (version "6.3.2")
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "1lmfk5bhgg4daxkqrhmx4iyln7pyiz40c9cp6plyp35nz8ppvc75"))))
@@ -2017,7 +2009,7 @@ (define-public qttranslations
     (version "6.3.2")
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "1h66n9cx4g65c9wrgp32h9gm3r47gyh1nrcn3ivbfbvngfawqxpg"))))
@@ -2039,7 +2031,7 @@ (define-public qtscript
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "0rjj1pn0fwdq0qz0nzisxza671ywfrq5cv6iplywfyflh7q4dmcs"))
@@ -2058,7 +2050,7 @@ (define-public qtquickcontrols-5
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "0yp47bpkfckms76vw0hrwnzchy8iak23ih6w9pnwrnjkmbc65drc"))))
@@ -2078,7 +2070,7 @@ (define-public qtquickcontrols2-5
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "058dkj6272za47vnz3mxsmwsj85gxf6g0ski645fphk8s3jp2bk5"))))
@@ -2105,7 +2097,7 @@ (define-public qtgraphicaleffects
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "0wypji8i19kjq18qd92z8kkd3fj2n0d5hgh6xiza96833afvibj9"))))
@@ -2128,7 +2120,7 @@ (define-public qtgamepad
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "0vgxprgk7lak209wsg2ljzfkpwgjzscpbxmj5fyvvwm2pbnpspvk"))))
@@ -2154,7 +2146,7 @@ (define-public qtscxml
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "17j6npvgr8q3lyrqmvfh1n47mkhfzk18r998hcjm2w75xj46km1n"))
@@ -2181,7 +2173,7 @@ (define-public qtpositioning
     (version "6.3.2")
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "0zh45lf164nzwl1hh96qm64nyw9wzzrnm5s7sx761glz54q6l5xz"))))
@@ -2212,7 +2204,7 @@ (define-public qtpurchasing
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "0bjky5ncg9yhz4a63g3jl1r5pa6i09f6g8wgzs591mhybrbmhcw8"))))
@@ -2228,7 +2220,7 @@ (define-public qtcharts
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "1q11ank69l9qw3iks2svr0g2g6pzng9v8p87dpsmjs988f4ysmll"))))
@@ -2257,7 +2249,7 @@ (define-public qtdatavis3d
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "1mr2kdshahxrkjs9wlgpr59jbqvyvlax16rlnca4iq00w3v5hrdh"))))
@@ -2279,7 +2271,7 @@ (define-public qtnetworkauth-5
     (version %qt-version)
     (source (origin
              (method url-fetch)
-             (uri (qt-urls name version))
+             (uri (qt-url name version))
              (sha256
               (base32
                "0fsmpjwkzzy3281shld7gs1gj217smb1f8ai63gdvnkp0jb2fhc5"))))
@@ -2294,7 +2286,7 @@ (define-public qtnetworkauth
     (version "6.3.2")
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "0mjnz87splyxq7jwydi5ws2aqb6j7czscrkns193w425x0dgy94l"))))
@@ -2314,7 +2306,7 @@ (define-public qtremoteobjects
     (version "6.3.2")
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "099b3vchi458i4fci9kfwan871jplqlk5l8q78mfnh33g80qnasi"))))
@@ -2352,7 +2344,7 @@ (define-public qtspeech
     (version %qt-version)
     (source (origin
               (method url-fetch)
-              (uri (qt-urls name version))
+              (uri (qt-url name version))
               (sha256
                (base32
                 "1q56lyj7s05sx52j5z6gcs000mni4c7mb7qyq4lfval7c06hw5p6"))))
@@ -2461,7 +2453,7 @@ (define-public qtwebengine-5
     (source
      (origin
        (method url-fetch)
-       (uri (qt-urls name version))
+       (uri (qt-url name version))
        (sha256
         (base32
          "1qv15g5anhlfsdwnjxy21vc3zxxm8149vysi774l93iab6mxqmjg"))
@@ -2789,7 +2781,7 @@ (define-public qtwebengine
     (source
      (origin
        (method url-fetch)
-       (uri (qt-urls name version))
+       (uri (qt-url name version))
        (sha256
         (base32
          "09j4w9ax8242d1yx3hmic7jcwidwdrn8sp7k89hj4l0n8mzkkd35"))
