Support aarch64-darwin
This commit is contained in:
parent
e64d033fb6
commit
998adc8e2a
|
@ -139,6 +139,7 @@ platforms:
|
|||
- `x86_64-linux`
|
||||
- `aarch64-linux`
|
||||
- `x86_64-darwin`
|
||||
- `aarch64-darwin`
|
||||
|
||||
See [`config.public.json`](./config.public.json) for a list of all trusted users.
|
||||
|
||||
|
|
|
@ -26,6 +26,7 @@ impl Acl {
|
|||
vec![
|
||||
System::X8664Darwin,
|
||||
System::X8664Linux,
|
||||
System::Aarch64Darwin,
|
||||
System::Aarch64Linux,
|
||||
]
|
||||
} else {
|
||||
|
|
|
@ -11,6 +11,7 @@ let
|
|||
{
|
||||
supportedSystems = [
|
||||
"aarch64-linux"
|
||||
# "aarch64-darwin" # !!!
|
||||
"i686-linux"
|
||||
"x86_64-linux"
|
||||
"x86_64-darwin"
|
||||
|
@ -26,9 +27,11 @@ let
|
|||
handleEvalIssue = reason: errormsg:
|
||||
let
|
||||
fatalErrors = [
|
||||
"unknown-meta" "broken-outputs"
|
||||
"unknown-meta"
|
||||
"broken-outputs"
|
||||
];
|
||||
in if builtins.elem reason fatalErrors
|
||||
in
|
||||
if builtins.elem reason fatalErrors
|
||||
then abort errormsg
|
||||
else true;
|
||||
|
||||
|
@ -51,10 +54,15 @@ let
|
|||
# Some of these contain explicit references to platform(s) we want to avoid;
|
||||
# some even (transitively) depend on ~/.nixpkgs/config.nix (!)
|
||||
blacklist = [
|
||||
"tarball" "metrics" "manual"
|
||||
"darwin-tested" "unstable" "stdenvBootstrapTools"
|
||||
"moduleSystem" "lib-tests" # these just confuse the output
|
||||
"tarball"
|
||||
"metrics"
|
||||
"manual"
|
||||
"darwin-tested"
|
||||
"unstable"
|
||||
"stdenvBootstrapTools"
|
||||
"moduleSystem"
|
||||
"lib-tests" # these just confuse the output
|
||||
];
|
||||
|
||||
in
|
||||
tweak (builtins.removeAttrs hydraJobs blacklist)
|
||||
tweak (builtins.removeAttrs hydraJobs blacklist)
|
||||
|
|
|
@ -3,6 +3,7 @@ pub enum System {
|
|||
X8664Linux,
|
||||
Aarch64Linux,
|
||||
X8664Darwin,
|
||||
Aarch64Darwin,
|
||||
}
|
||||
|
||||
impl std::fmt::Display for System {
|
||||
|
@ -11,6 +12,7 @@ impl std::fmt::Display for System {
|
|||
System::X8664Linux => write!(f, "x86_64-linux"),
|
||||
System::Aarch64Linux => write!(f, "aarch64-linux"),
|
||||
System::X8664Darwin => write!(f, "x86_64-darwin"),
|
||||
System::Aarch64Darwin => write!(f, "aarch64-darwin"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -25,6 +27,7 @@ impl System {
|
|||
System::X8664Linux => true,
|
||||
System::Aarch64Linux => true,
|
||||
System::X8664Darwin => false,
|
||||
System::Aarch64Darwin => false,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
26
release.nix
26
release.nix
|
@ -1,5 +1,5 @@
|
|||
{ nixpkgs ? ./nix
|
||||
, supportedSystems ? [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ]
|
||||
, supportedSystems ? [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]
|
||||
}:
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
|
@ -26,16 +26,20 @@ let
|
|||
};
|
||||
}
|
||||
)
|
||||
{} supportedSystems;
|
||||
{ }
|
||||
supportedSystems;
|
||||
|
||||
attrForSystem = system: attrpath:
|
||||
if borgpkgs-per-arch ? "${system}"
|
||||
then (
|
||||
then
|
||||
(
|
||||
let
|
||||
borgpkgs = borgpkgs-per-arch."${system}";
|
||||
in if lib.hasAttrByPath attrpath borgpkgs
|
||||
then lib.setAttrByPath
|
||||
(attrpath ++ [system])
|
||||
in
|
||||
if lib.hasAttrByPath attrpath borgpkgs
|
||||
then
|
||||
lib.setAttrByPath
|
||||
(attrpath ++ [ system ])
|
||||
(lib.attrByPath attrpath "bogus" borgpkgs)
|
||||
else throw "Failed to find ${toString attrpath} for ${system} in borgpkgs"
|
||||
)
|
||||
|
@ -46,13 +50,13 @@ let
|
|||
(collector: system:
|
||||
lib.recursiveUpdate collector (attrForSystem system path)
|
||||
)
|
||||
{}
|
||||
{ }
|
||||
supportedSystems;
|
||||
|
||||
merge = attrsets:
|
||||
builtins.foldl'
|
||||
(collector: set: lib.recursiveUpdate set collector)
|
||||
{}
|
||||
{ }
|
||||
attrsets;
|
||||
|
||||
x8664LinuxOnly = path:
|
||||
|
@ -63,14 +67,16 @@ let
|
|||
|
||||
(x8664LinuxOnly [ "ofborg" "php" ])
|
||||
];
|
||||
in jobs // {
|
||||
in
|
||||
jobs // {
|
||||
release = pkgs.releaseTools.aggregate {
|
||||
name = "release";
|
||||
meta.description = "Release-critical builds for OfBorg infrastructure";
|
||||
constituents = [
|
||||
jobs.ofborg.rs.x86_64-linux
|
||||
jobs.ofborg.rs.x86_64-darwin
|
||||
# jobs.ofborg.rs.aarch64-linux
|
||||
jobs.ofborg.rs.aarch64-darwin
|
||||
jobs.ofborg.rs.aarch64-linux
|
||||
jobs.ofborg.php.x86_64-linux
|
||||
];
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue