core/pkgs/by-name/ll/llvm/common/common-let.nix
2024-05-13 22:24:10 +01:00

48 lines
1.3 KiB
Nix

{ lib, fetchFromGitHub ? null, release_version ? null, gitRelease ? null
, officialRelease ? null, monorepoSrc' ? null }:
rec {
llvm_meta = {
license = lib.licenses.ncsa;
# maintainers = lib.teams.llvm.members;
# See llvm/cmake/config-ix.cmake.
platforms = lib.platforms.aarch64 ++ lib.platforms.arm ++ lib.platforms.mips
++ lib.platforms.power ++ lib.platforms.s390x ++ lib.platforms.wasi
++ lib.platforms.x86
++ lib.optionals (lib.versionAtLeast release_version "7")
lib.platforms.riscv
++ lib.optionals (lib.versionAtLeast release_version "14")
lib.platforms.m68k;
};
releaseInfo = if gitRelease != null then rec {
original = gitRelease;
release_version = original.version;
version = gitRelease.rev-version;
} else rec {
original = officialRelease;
release_version = original.version;
version = if original ? candidate then
"${release_version}-${original.candidate}"
else
release_version;
};
monorepoSrc = if monorepoSrc' != null then
monorepoSrc'
else
let
sha256 = releaseInfo.original.sha256;
rev = if gitRelease != null then
gitRelease.rev
else
"llvmorg-${releaseInfo.version}";
in fetchFromGitHub {
owner = "llvm";
repo = "llvm-project";
inherit rev sha256;
};
}