at master 1.7 kB view raw
1{ 2 lib, 3 callPackage, 4 stdenv, 5 stdenvAdapters, 6 recurseIntoAttrs, 7 gccVersions ? { }, 8 patchesFn ? lib.id, 9 buildPackages, 10 targetPackages, 11 binutilsNoLibc, 12 binutils, 13 generateSplicesForMkScope, 14 ... 15}@packageSetArgs: 16let 17 versions = { 18 "15.1.0".officialRelease.sha256 = "sha256-4rCewhZg8B/s/7cV4BICZSFpQ/A40OSKmGhxPlTwbOo="; 19 } 20 // gccVersions; 21 22 mkPackage = 23 { 24 name ? null, 25 officialRelease ? null, 26 gitRelease ? null, 27 monorepoSrc ? null, 28 version ? null, 29 }@args: 30 let 31 inherit 32 (import ./common/common-let.nix { 33 inherit 34 lib 35 gitRelease 36 officialRelease 37 version 38 ; 39 }) 40 releaseInfo 41 ; 42 inherit (releaseInfo) release_version; 43 attrName = 44 args.name or (if (gitRelease != null) then "git" else lib.versions.major release_version); 45 in 46 lib.nameValuePair attrName ( 47 recurseIntoAttrs ( 48 callPackage ./common ( 49 { 50 inherit (stdenvAdapters) overrideCC; 51 inherit 52 officialRelease 53 gitRelease 54 monorepoSrc 55 version 56 patchesFn 57 ; 58 59 buildGccPackages = buildPackages."gccNGPackages_${attrName}"; 60 targetGccPackages = targetPackages."gccNGPackages_${attrName}" or gccPackages."${attrName}"; 61 otherSplices = generateSplicesForMkScope "gccNGPackages_${attrName}"; 62 } 63 // packageSetArgs # Allow overrides. 64 ) 65 ) 66 ); 67 68 gccPackages = lib.mapAttrs' (version: args: mkPackage (args // { inherit version; })) versions; 69in 70gccPackages // { inherit mkPackage; }