mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-16 10:43:27 +00:00
gnat-bootstrap: parameterize better
This commit makes `url` dependent on the gnat version, and allows for `alireRevision` to be empty (in which case no hyphen is added after ${gccVersion} in `version`). This should cause no changes to eval on `gnat11` or `gnat12`. This is submitted in order to reduce the size of #225191
This commit is contained in:
parent
9e3b2a5822
commit
605ccc8296
@ -5,17 +5,22 @@
|
||||
|
||||
let
|
||||
throwUnsupportedSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
|
||||
|
||||
versionMap = rec {
|
||||
in
|
||||
stdenv.mkDerivation(finalAttrs:
|
||||
let versionMap =
|
||||
let url = "https://github.com/alire-project/GNAT-FSF-builds/releases/download/gnat-${finalAttrs.version}/gnat-${stdenv.hostPlatform.system}-${finalAttrs.version}.tar.gz";
|
||||
in {
|
||||
"11" = {
|
||||
gccVersion = "11.2.0";
|
||||
alireRevision = "4";
|
||||
} // {
|
||||
x86_64-darwin = {
|
||||
inherit url;
|
||||
hash = "sha256-FmBgD20PPQlX/ddhJliCTb/PRmKxe9z7TFPa2/SK4GY=";
|
||||
upstreamTriplet = "x86_64-apple-darwin19.6.0";
|
||||
};
|
||||
x86_64-linux = {
|
||||
inherit url;
|
||||
hash = "sha256-8fMBJp6igH+Md5jE4LMubDmC4GLt4A+bZG/Xcz2LAJQ=";
|
||||
upstreamTriplet = "x86_64-pc-linux-gnu";
|
||||
};
|
||||
@ -25,27 +30,26 @@ let
|
||||
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;
|
||||
};
|
||||
|
||||
in with versionMap.${majorVersion};
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
inherit (versionMap.${majorVersion}) gccVersion alireRevision upstreamTriplet;
|
||||
in {
|
||||
pname = "gnat-bootstrap";
|
||||
inherit gccVersion alireRevision;
|
||||
inherit (versionMap.${majorVersion}) gccVersion alireRevision;
|
||||
|
||||
version = "${gccVersion}-${alireRevision}";
|
||||
version = "${gccVersion}${lib.optionalString (alireRevision!="") "-"}${alireRevision}";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/alire-project/GNAT-FSF-builds/releases/download/gnat-${version}/gnat-${stdenv.hostPlatform.system}-${version}.tar.gz";
|
||||
inherit hash;
|
||||
inherit (versionMap.${majorVersion}) url hash;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -141,4 +145,4 @@ stdenv.mkDerivation rec {
|
||||
maintainers = with maintainers; [ ethindp ];
|
||||
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user