diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index 0aa30c2b1fec..a64379b19ef6 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -1358,6 +1358,13 @@ Superuser created successfully.
services.ddclient.passwordFile.
+
+
+ The default GNAT version has been changed: The
+ gnat attribute now points to
+ gnat11 instead of gnat9.
+
+
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md
index 0eb7bf74197c..9a76b4cca449 100644
--- a/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -404,6 +404,9 @@ In addition to numerous new and upgraded packages, this release has the followin
- The `services.ddclient.password` option was removed, and replaced with `services.ddclient.passwordFile`.
+- The default GNAT version has been changed: The `gnat` attribute now points to `gnat11`
+ instead of `gnat9`.
+
## Other Notable Changes {#sec-release-21.11-notable-changes}
diff --git a/pkgs/development/compilers/ghdl/default.nix b/pkgs/development/compilers/ghdl/default.nix
index e7886eb8f5ed..266ee97a2e90 100644
--- a/pkgs/development/compilers/ghdl/default.nix
+++ b/pkgs/development/compilers/ghdl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, callPackage, gnat, zlib, llvm, lib
+{ stdenv, fetchFromGitHub, fetchpatch, callPackage, gnat, zlib, llvm, lib
, backend ? "mcode" }:
assert backend == "mcode" || backend == "llvm";
@@ -14,6 +14,15 @@ stdenv.mkDerivation rec {
sha256 = "1gyh0xckwbzgslbpw9yrpj4gqs9fm1a2qpbzl0sh143fk1kwjlly";
};
+ patches = [
+ # Allow compilation with GNAT 11, picked from master
+ (fetchpatch {
+ name = "fix-gnat-11-compilation.patch";
+ url = "https://github.com/ghdl/ghdl/commit/8356ea3bb4e8d0e5ad8638c3d50914b64fc360ec.patch";
+ sha256 = "04pzn8g7xha8000wbjjmry6h1grfqyn3bjvj47hi4qwgl21wfjra";
+ })
+ ];
+
LIBRARY_PATH = "${stdenv.cc.libc}/lib";
buildInputs = [ gnat zlib ] ++ lib.optional (backend == "llvm") [ llvm ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 64ad35a31722..1e3e2b65bb0b 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -11878,8 +11878,7 @@ with pkgs;
inherit (gnome2) libart_lgpl;
});
- # aarch64-darwin doesn't support earlier gcc
- gnat = if (stdenv.isDarwin && stdenv.isAarch64) then gnat11 else gnat9;
+ gnat = gnat11;
gnat6 = wrapCC (gcc6.cc.override {
name = "gnat";