at master 1.8 kB view raw
1{ 2 lib, 3 fetchFromGitHub ? null, 4 release_version ? null, 5 gitRelease ? null, 6 officialRelease ? null, 7 monorepoSrc' ? null, 8 version ? null, 9}@args: 10 11rec { 12 llvm_meta = { 13 license = 14 with lib.licenses; 15 [ ncsa ] 16 ++ 17 # Contributions after June 1st, 2024 are only licensed under asl20 and 18 # llvm-exception: https://github.com/llvm/llvm-project/pull/92394 19 lib.optionals (lib.versionAtLeast release_version "19") [ 20 asl20 21 llvm-exception 22 ]; 23 teams = [ lib.teams.llvm ]; 24 25 # See llvm/cmake/config-ix.cmake. 26 platforms = 27 lib.platforms.aarch64 28 ++ lib.platforms.arm 29 ++ lib.platforms.mips 30 ++ lib.platforms.power 31 ++ lib.platforms.s390x 32 ++ lib.platforms.wasi 33 ++ lib.platforms.x86 34 ++ lib.platforms.riscv 35 ++ lib.platforms.m68k 36 ++ lib.platforms.loongarch64; 37 38 identifiers.cpeParts.vendor = "llvm"; 39 }; 40 41 releaseInfo = 42 if gitRelease != null then 43 rec { 44 original = gitRelease; 45 release_version = args.version or original.version; 46 version = gitRelease.rev-version; 47 } 48 else 49 rec { 50 original = officialRelease; 51 release_version = args.version or original.version; 52 version = 53 if original ? candidate then "${release_version}-${original.candidate}" else release_version; 54 }; 55 56 monorepoSrc = 57 if monorepoSrc' != null then 58 monorepoSrc' 59 else 60 let 61 sha256 = releaseInfo.original.sha256; 62 rev = if gitRelease != null then gitRelease.rev else "llvmorg-${releaseInfo.version}"; 63 in 64 fetchFromGitHub rec { 65 owner = "llvm"; 66 repo = "llvm-project"; 67 inherit rev sha256; 68 passthru = { inherit owner repo rev; }; 69 }; 70 71}