at master 1.2 kB view raw
1{ 2 lib, 3 fetchurl ? null, 4 fetchgit ? null, 5 release_version ? null, 6 gitRelease ? null, 7 officialRelease ? null, 8 monorepoSrc' ? null, 9 version ? null, 10}@args: 11 12rec { 13 gcc_meta = { 14 license = with lib.licenses; [ gpl3Plus ]; 15 teams = [ lib.teams.gcc ]; 16 }; 17 18 releaseInfo = 19 if gitRelease != null then 20 rec { 21 original = gitRelease; 22 release_version = args.version or original.version; 23 version = gitRelease.rev-version; 24 } 25 else 26 rec { 27 original = officialRelease; 28 release_version = args.version or original.version; 29 version = 30 if original ? candidate then "${release_version}-${original.candidate}" else release_version; 31 }; 32 33 monorepoSrc = 34 if monorepoSrc' != null then 35 monorepoSrc' 36 else if gitRelease != null then 37 fetchgit { 38 url = "https://gcc.gnu.org/git/gcc.git"; 39 inherit (gitRelease) rev; 40 hash = releaseInfo.original.sha256; 41 } 42 else 43 fetchurl { 44 url = "mirror://gcc/releases/gcc-${releaseInfo.version}/gcc-${releaseInfo.version}.tar.xz"; 45 hash = releaseInfo.original.sha256; 46 }; 47}