diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
 # Revision history for distribution-nixpkgs
 
+## 1.7.1.1
+
+* Adapt test suite to added representation of `RISCV64` and
+  `LoongArch64` architectures in Cabal 3.12.
+
 ## 1.7.1
 
 * GHC and nixpkgs now
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -22,5 +22,5 @@
 
 3. If the test suite fails, add test cases for all missing system tuples.
 
-4. In all cases, change the dates of last update in `test/hspec.hs` and
+4. In all cases, change the date of last update in
    `src/Distribution/Nixpkgs/Meta.hs` to the current day.
diff --git a/distribution-nixpkgs.cabal b/distribution-nixpkgs.cabal
--- a/distribution-nixpkgs.cabal
+++ b/distribution-nixpkgs.cabal
@@ -1,21 +1,21 @@
 name:          distribution-nixpkgs
-version:       1.7.1
+version:       1.7.1.1
 synopsis:      Types and functions to manipulate the Nixpkgs distribution
 description:   Types and functions to represent, query, and manipulate the Nixpkgs distribution.
 license:       BSD3
 license-file:  LICENSE
 author:        Peter Simons <simons@cryp.to>
 maintainer:    sternenseemann <sternenseemann@systemli.org>
-tested-with:   GHC == 8.10.7 || == 9.0.2 || == 9.2.8 || == 9.4.8 || == 9.6.5
+tested-with:   GHC == 8.10.7 || == 9.0.2 || == 9.2.8 || == 9.4.8 || == 9.6.6 || == 9.8.3 || == 9.10.1
 category:      Distribution, Nix
 homepage:      https://github.com/NixOS/cabal2nix/tree/master/distribution-nixpkgs#readme
 bug-reports:   https://github.com/NixOS/cabal2nix/issues
 build-type:    Simple
-cabal-version: >= 1.10
+cabal-version: 1.18
 data-files:    derivation-attr-paths.nix
-extra-source-files: CHANGELOG.md
+extra-doc-files:    CHANGELOG.md
                     README.md
-                    test/data/all-system-tuples.json
+extra-source-files: test/data/all-system-tuples.json
 
 source-repository head
   type:     git
diff --git a/src/Distribution/Nixpkgs/Meta.hs b/src/Distribution/Nixpkgs/Meta.hs
--- a/src/Distribution/Nixpkgs/Meta.hs
+++ b/src/Distribution/Nixpkgs/Meta.hs
@@ -127,7 +127,7 @@
 --   using 'nixpkgsPlatformFromString' and rendering them via the 'Pretty'
 --   instance of 'NixpkgsPlatform' should not change the system tuple
 --   for tuples accepted by nixpkgs. This has been tested for all known tuples
---   (from @lib.platforms@ and @lib.systems.examples@) as of 2022-05-08.
+--   (from @lib.platforms@ and @lib.systems.examples@) as of 2024-12-01.
 --   Please open an issue if any newly added ones are not recognized properly.
 --
 --   __Warning__: 'nixpkgsPlatformFromString' consequently tries to preserve all
diff --git a/test/data/all-system-tuples.json b/test/data/all-system-tuples.json
--- a/test/data/all-system-tuples.json
+++ b/test/data/all-system-tuples.json
@@ -1,1 +1,1 @@
-["aarch64-darwin","aarch64-genode","aarch64-linux","aarch64-netbsd","aarch64-none","aarch64_be-none","arm-none","armv5tel-linux","armv6l-linux","armv6l-netbsd","armv6l-none","armv7a-darwin","armv7a-linux","armv7a-netbsd","armv7l-linux","armv7l-netbsd","avr-none","i686-cygwin","i686-darwin","i686-freebsd","i686-genode","i686-linux","i686-netbsd","i686-none","i686-openbsd","i686-windows","javascript-ghcjs","loongarch64-linux","m68k-linux","m68k-netbsd","m68k-none","microblaze-linux","microblaze-none","microblazeel-linux","microblazeel-none","mips-linux","mips-none","mips64-linux","mips64-none","mips64el-linux","mipsel-linux","mipsel-netbsd","mmix-mmixware","msp430-none","or1k-none","powerpc-netbsd","powerpc-none","powerpc64-linux","powerpc64le-linux","powerpcle-none","riscv32-linux","riscv32-netbsd","riscv32-none","riscv64-linux","riscv64-netbsd","riscv64-none","rx-none","s390-linux","s390-none","s390x-linux","s390x-none","vc4-none","wasm32-wasi","wasm64-wasi","x86_64-cygwin","x86_64-darwin","x86_64-freebsd","x86_64-genode","x86_64-linux","x86_64-netbsd","x86_64-none","x86_64-openbsd","x86_64-redox","x86_64-solaris","x86_64-windows"]
+["aarch64-darwin","aarch64-freebsd","aarch64-genode","aarch64-linux","aarch64-netbsd","aarch64-none","aarch64-windows","aarch64_be-none","arm-none","armv5tel-linux","armv6l-linux","armv6l-netbsd","armv6l-none","armv7a-darwin","armv7a-linux","armv7a-netbsd","armv7l-linux","armv7l-netbsd","avr-none","i686-cygwin","i686-darwin","i686-freebsd","i686-genode","i686-linux","i686-netbsd","i686-none","i686-openbsd","i686-windows","javascript-ghcjs","loongarch64-linux","m68k-linux","m68k-netbsd","m68k-none","microblaze-linux","microblaze-none","microblazeel-linux","microblazeel-none","mips-linux","mips-none","mips64-linux","mips64-none","mips64el-linux","mipsel-linux","mipsel-netbsd","mmix-mmixware","msp430-none","or1k-none","powerpc-netbsd","powerpc-none","powerpc64-linux","powerpc64le-linux","powerpcle-none","riscv32-linux","riscv32-netbsd","riscv32-none","riscv64-linux","riscv64-netbsd","riscv64-none","rx-none","s390-linux","s390-none","s390x-linux","s390x-none","vc4-none","wasm32-none","wasm32-wasi","wasm64-wasi","x86_64-cygwin","x86_64-darwin","x86_64-freebsd","x86_64-genode","x86_64-linux","x86_64-netbsd","x86_64-none","x86_64-openbsd","x86_64-redox","x86_64-solaris","x86_64-windows"]
diff --git a/test/hspec.hs b/test/hspec.hs
--- a/test/hspec.hs
+++ b/test/hspec.hs
@@ -44,16 +44,20 @@
       it "is parsed correctly" $
         nixpkgsPlatformFromString str `shouldBe` Just plat
 
--- All system tuples from lib.platforms as of 2022-05-08. Testing these allows
--- us to get notified about behavior change in Cabal as early as possible.
+-- All system tuples from lib.platforms. Testing these allows us to
+-- get notified about behavior change in Cabal as early as possible.
+-- You can check if the list is up to date by running
+-- regenerate-all-system-tuples.sh.
 nixpkgsSystemMapping :: [(String, Platform)]
 nixpkgsSystemMapping =
   [ -- lib.platforms.all
     ("aarch64-darwin", Platform AArch64 OSX)
+  , ("aarch64-freebsd", Platform AArch64 FreeBSD)
   , ("aarch64-genode", Platform AArch64 (OtherOS "genode"))
   , ("aarch64-linux", Platform AArch64 Linux)
   , ("aarch64-netbsd", Platform AArch64 NetBSD)
   , ("aarch64-none", Platform AArch64 (OtherOS "none"))
+  , ("aarch64-windows", Platform AArch64 Windows)
   , ("aarch64_be-none", Platform (OtherArch "aarch64_be") (OtherOS "none"))
   , ("arm-none", Platform Arm (OtherOS "none"))
   , ("armv5tel-linux", Platform (OtherArch "armv5tel") Linux)
@@ -76,7 +80,11 @@
   , ("i686-openbsd", Platform I386 OpenBSD)
   , ("i686-windows", Platform I386 Windows)
   , ("javascript-ghcjs", Platform JavaScript Ghcjs)
+#if MIN_VERSION_Cabal(3,12,0)
+  , ("loongarch64-linux", Platform LoongArch64 Linux)
+#else
   , ("loongarch64-linux", Platform (OtherArch "loongarch64") Linux)
+#endif
   , ("m68k-linux", Platform M68k Linux)
   , ("m68k-netbsd", Platform M68k NetBSD)
   , ("m68k-none", Platform M68k (OtherOS "none"))
@@ -102,9 +110,15 @@
   , ("riscv32-linux", Platform (OtherArch "riscv32") Linux)
   , ("riscv32-netbsd", Platform (OtherArch "riscv32") NetBSD)
   , ("riscv32-none", Platform (OtherArch "riscv32") (OtherOS "none"))
+#if MIN_VERSION_Cabal(3,12,0)
+  , ("riscv64-linux", Platform RISCV64 Linux)
+  , ("riscv64-netbsd", Platform RISCV64 NetBSD)
+  , ("riscv64-none", Platform RISCV64 (OtherOS "none"))
+#else
   , ("riscv64-linux", Platform (OtherArch "riscv64") Linux)
   , ("riscv64-netbsd", Platform (OtherArch "riscv64") NetBSD)
   , ("riscv64-none", Platform (OtherArch "riscv64") (OtherOS "none"))
+#endif
   , ("rx-none", Platform (OtherArch "rx") (OtherOS "none"))
   , ("s390-linux", Platform S390 Linux)
   , ("s390-none", Platform S390 (OtherOS "none"))
@@ -117,9 +131,11 @@
 #endif
   , ("vc4-none", Platform (OtherArch "vc4") (OtherOS "none"))
 #if MIN_VERSION_Cabal(3,8,1)
+  , ("wasm32-none", Platform Wasm32 (OtherOS "none"))
   , ("wasm32-wasi", Platform Wasm32 Wasi)
   , ("wasm64-wasi", Platform (OtherArch "wasm64") Wasi)
 #else
+  , ("wasm32-none", Platform (OtherArch "wasm32") (OtherOS "none"))
   , ("wasm32-wasi", Platform (OtherArch "wasm32") (OtherOS "wasi"))
   , ("wasm64-wasi", Platform (OtherArch "wasm64") (OtherOS "wasi"))
 #endif
