58 lines
1.4 KiB
Nix
58 lines
1.4 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;
|
||
|
};
|
||
|
|
||
|
}
|