gnat: 13.2.0 -> 15.2.0, bootstrap with gnat-bootstrap15/16 (#525156)

This commit is contained in:
Vladimír Čunát 2026-07-02 06:43:20 +02:00 committed by GitHub
commit 93a8e8c4c3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 78 additions and 27 deletions

View file

@ -33,23 +33,6 @@ stdenv.mkDerivation (
url = "https://github.com/alire-project/GNAT-FSF-builds/releases/download/gnat-${finalAttrs.version}/gnat-${stdenv.hostPlatform.system}-${finalAttrs.version}.tar.gz";
in
{
"12" = {
gccVersion = "12.1.0";
alireRevision = "2";
}
// {
x86_64-darwin = {
inherit url;
hash = "sha256-zrcVFvFZMlGUtkG0p1wST6kGInRI64Icdsvkcf25yVs=";
upstreamTriplet = "x86_64-apple-darwin19.6.0";
};
x86_64-linux = {
inherit url;
hash = "sha256-EPDPOOjWJnJsUM7GGxj20/PXumjfLoMIEFX1EDtvWVY=";
upstreamTriplet = "x86_64-pc-linux-gnu";
};
}
.${stdenv.hostPlatform.system} or throwUnsupportedSystem;
"13" = {
gccVersion = "13.2.0";
alireRevision = "2";
@ -99,6 +82,63 @@ stdenv.mkDerivation (
};
}
.${stdenv.hostPlatform.system} or throwUnsupportedSystem;
"15" = {
gccVersion = "15.2.0";
}
// {
x86_64-darwin = {
alireRevision = "1";
inherit url;
hash = "sha256-1YTqWsLBwNH/GBAtF5CL/YZHQvfE/3PE0LlLJ9HmjAg=";
upstreamTriplet = "x86_64-apple-darwin22.6.0";
};
x86_64-linux = {
alireRevision = "1";
inherit url;
hash = "sha256-b4hAg3ifoBRqgPxpfMYuOdunw7wzRTL/G5YGBO+im24=";
upstreamTriplet = "x86_64-pc-linux-gnu";
};
aarch64-linux = {
alireRevision = "1";
inherit url;
hash = "sha256-0V/VHqOSYQI6LmvpUIHy3zB6hI3dG0njOcDsrg8oZq8=";
upstreamTriplet = "aarch64-linux-gnu";
};
aarch64-darwin = {
alireRevision = "2-pre0";
url = "https://github.com/alire-project/GNAT-FSF-builds/releases/download/gnat-15.2.0-2-macos-pre0/gnat-${stdenv.hostPlatform.system}-${finalAttrs.version}.tar.gz";
hash = "sha256-4bFtsjixfXYc8wYOc+5iAbp1MmiIS1h1NcdKno2IdJg=";
upstreamTriplet = "aarch64-apple-darwin24.6.0";
};
}
.${stdenv.hostPlatform.system} or throwUnsupportedSystem;
"16" = {
gccVersion = "16.1.0";
alireRevision = "1";
}
// {
x86_64-darwin = {
inherit url;
hash = "sha256-u/cYFKqWLTaFADTscDxnrkYSoemKrfKpNIZ8XPlTbLI=";
upstreamTriplet = "x86_64-apple-darwin24.6.0";
};
x86_64-linux = {
inherit url;
hash = "sha256-5bKYPJnXDGa80BtAogLE82X0zTuYKdN2cKh503oMeic=";
upstreamTriplet = "x86_64-pc-linux-gnu";
};
aarch64-linux = {
inherit url;
hash = "sha256-jJnqDJGBOjqbT4hDW0nRpV0oA3RXxJhvI7BuvQkPDQI=";
upstreamTriplet = "aarch64-linux-gnu";
};
aarch64-darwin = {
inherit url;
hash = "sha256-TJlV/Ngq6SwpIgGkwamTN3aRGP2BnEzJyBGovtWb6Y0=";
upstreamTriplet = "aarch64-apple-darwin24.6.0";
};
}
.${stdenv.hostPlatform.system} or throwUnsupportedSystem;
};
inherit (versionMap.${majorVersion}) gccVersion alireRevision upstreamTriplet;
in
@ -146,13 +186,15 @@ stdenv.mkDerivation (
++
lib.optionals
(
lib.versionAtLeast majorVersion "14" && stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux
(majorVersion == "14" && stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux)
|| (lib.versionAtLeast majorVersion "15" && stdenv.hostPlatform.isLinux)
)
[
# not sure why the bootstrap binaries link to zstd only on this architecture but they do
zstd
];
__structuredAttrs = true;
strictDeps = true;
# https://github.com/alire-project/GNAT-FSF-builds/issues/51
@ -245,8 +287,6 @@ stdenv.mkDerivation (
platforms = [
"x86_64-linux"
"x86_64-darwin"
]
++ lib.optionals (lib.versionAtLeast majorVersion "13") [
"aarch64-darwin"
]
++ lib.optionals (lib.versionAtLeast majorVersion "14") [

View file

@ -3467,7 +3467,7 @@ with pkgs;
enableLTO = false;
};
gnat = gnat13; # When changing this, update also gnatPackages
gnat = pkgs."gnat${toString default-gcc-version}"; # When changing this, update also gnatPackages
gnat13 = wrapCC (
gcc13.cc.override {
@ -3535,7 +3535,7 @@ with pkgs;
# If we are cross-compiling GNAT, we may as well do the same.
gnat-bootstrap =
if stdenv.hostPlatform == stdenv.targetPlatform && stdenv.buildPlatform == stdenv.hostPlatform then
buildPackages.gnat-bootstrap14
buildPackages.gnat-bootstrap15
else
buildPackages.gnat15;
stdenv =
@ -3544,7 +3544,7 @@ with pkgs;
&& stdenv.buildPlatform == stdenv.hostPlatform
&& stdenv.buildPlatform.isDarwin
then
overrideCC gccStdenv gnat-bootstrap14
overrideCC gccStdenv gnat-bootstrap15
else
stdenv;
}
@ -3562,7 +3562,7 @@ with pkgs;
# If we are cross-compiling GNAT, we may as well do the same.
gnat-bootstrap =
if stdenv.hostPlatform == stdenv.targetPlatform && stdenv.buildPlatform == stdenv.hostPlatform then
buildPackages.gnat-bootstrap14
buildPackages.gnat-bootstrap16
else
buildPackages.gnat16;
stdenv =
@ -3571,13 +3571,14 @@ with pkgs;
&& stdenv.buildPlatform == stdenv.hostPlatform
&& stdenv.buildPlatform.isDarwin
then
overrideCC gccStdenv gnat-bootstrap14
overrideCC gccStdenv gnat-bootstrap16
else
stdenv;
}
);
gnat-bootstrap = gnat-bootstrap13;
gnat-bootstrap = pkgs."gnat-bootstrap${toString default-gcc-version}";
gnat-bootstrap13 = wrapCCWith {
cc = callPackage ../development/compilers/gnat-bootstrap { majorVersion = "13"; };
isAlireGNAT = true;
@ -3588,11 +3589,21 @@ with pkgs;
isAlireGNAT = true;
};
gnat-bootstrap15 = wrapCCWith {
cc = callPackage ../development/compilers/gnat-bootstrap { majorVersion = "15"; };
isAlireGNAT = true;
};
gnat-bootstrap16 = wrapCCWith {
cc = callPackage ../development/compilers/gnat-bootstrap { majorVersion = "16"; };
isAlireGNAT = true;
};
gnat13Packages = recurseIntoAttrs (callPackage ./ada-packages.nix { gnat = buildPackages.gnat13; });
gnat14Packages = recurseIntoAttrs (callPackage ./ada-packages.nix { gnat = buildPackages.gnat14; });
gnat15Packages = recurseIntoAttrs (callPackage ./ada-packages.nix { gnat = buildPackages.gnat15; });
gnat16Packages = recurseIntoAttrs (callPackage ./ada-packages.nix { gnat = buildPackages.gnat16; });
gnatPackages = gnat13Packages;
gnatPackages = pkgs."gnat${toString default-gcc-version}Packages";
inherit (gnatPackages)
gprbuild