depot/third_party/nixpkgs/pkgs/development/compilers/llvm/common/common-let.nix
Default email f34ce41345 Project import generated by Copybara.
GitOrigin-RevId: b73c2221a46c13557b1b3be9c2070cc42cf01eb3
2024-07-27 08:49:29 +02:00

61 lines
1.5 KiB
Nix

{ lib
, fetchFromGitHub ? null
, release_version ? null
, gitRelease ? null
, officialRelease ? null
, monorepoSrc' ? null
, version ? null,
}@args:
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 = args.version or original.version;
version = gitRelease.rev-version;
} else rec {
original = officialRelease;
release_version = args.version or 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;
};
}