2024-06-30 08:16:52 +00:00
|
|
|
{
|
|
|
|
lib,
|
|
|
|
fetchFromGitHub ? null,
|
|
|
|
release_version ? null,
|
|
|
|
gitRelease ? null,
|
|
|
|
officialRelease ? null,
|
|
|
|
monorepoSrc' ? null,
|
2024-05-02 00:46:19 +00:00
|
|
|
}:
|
|
|
|
|
|
|
|
rec {
|
|
|
|
llvm_meta = {
|
|
|
|
license = lib.licenses.ncsa;
|
|
|
|
maintainers = lib.teams.llvm.members;
|
|
|
|
|
|
|
|
# See llvm/cmake/config-ix.cmake.
|
|
|
|
platforms =
|
2024-06-30 08:16:52 +00:00
|
|
|
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;
|
2024-05-02 00:46:19 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
releaseInfo =
|
2024-06-30 08:16:52 +00:00
|
|
|
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;
|
|
|
|
};
|
2024-05-02 00:46:19 +00:00
|
|
|
|
|
|
|
monorepoSrc =
|
|
|
|
if monorepoSrc' != null then
|
|
|
|
monorepoSrc'
|
|
|
|
else
|
|
|
|
let
|
|
|
|
sha256 = releaseInfo.original.sha256;
|
2024-06-30 08:16:52 +00:00
|
|
|
rev = if gitRelease != null then gitRelease.rev else "llvmorg-${releaseInfo.version}";
|
2024-05-02 00:46:19 +00:00
|
|
|
in
|
|
|
|
fetchFromGitHub {
|
|
|
|
owner = "llvm";
|
|
|
|
repo = "llvm-project";
|
|
|
|
inherit rev sha256;
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|