Merge branch 'fix-oci-image-cross' into 'next'

pass pkgsCrossStatic to mkOciImage, not pkgsHost

See merge request famedly/conduit!579
merge-requests/594/head
Charles Hall 6 months ago
commit 0a281e81a5

@ -68,6 +68,9 @@ static:aarch64-unknown-linux-musl:
paths: paths:
- conduit - conduit
# Note that although we have an `oci-image-x86_64-unknown-linux-musl` output,
# we don't build it because it would be largely redundant to this one since it's
# all containerized anyway.
oci-image:x86_64-unknown-linux-gnu: oci-image:x86_64-unknown-linux-gnu:
stage: artifacts stage: artifacts
image: nixos/nix:2.19.2 image: nixos/nix:2.19.2

@ -183,34 +183,45 @@
{ {
packages = { packages = {
default = package pkgsHost; default = package pkgsHost;
oci-image = mkOciImage pkgsHost self.packages.${system}.default; oci-image = mkOciImage pkgsHost self.packages.${system}.default;
}
# Build an OCI image from the musl aarch64 build so we don't have to //
# build for aarch64 twice (to make a gnu version specifically for the builtins.listToAttrs
# OCI image) (builtins.concatLists
oci-image-aarch64-unknown-linux-musl = mkOciImage (builtins.map
pkgsHost (crossSystem:
self.packages.${system}.static-aarch64-unknown-linux-musl; let
binaryName = "static-${crossSystem}";
# Don't build a musl x86_64 OCI image because that would be pointless. pkgsCrossStatic =
# Just use the gnu one (i.e. `self.packages."x86_64-linux".oci-image`). (import nixpkgs {
} // builtins.listToAttrs ( inherit system;
builtins.map crossSystem = {
(crossSystem: { config = crossSystem;
name = "static-${crossSystem}"; };
value = package (import nixpkgs { }).pkgsStatic;
inherit system; in
crossSystem = { [
config = crossSystem; # An output for a statically-linked binary
}; {
}).pkgsStatic; name = binaryName;
}) value = package pkgsCrossStatic;
[ }
"x86_64-unknown-linux-musl"
"aarch64-unknown-linux-musl" # An output for an OCI image based on that binary
] {
); name = "oci-image-${crossSystem}";
value = mkOciImage
pkgsCrossStatic
self.packages.${system}.${binaryName};
}
]
)
[
"x86_64-unknown-linux-musl"
"aarch64-unknown-linux-musl"
]
)
);
devShells.default = pkgsHost.mkShell { devShells.default = pkgsHost.mkShell {
env = env pkgsHost // { env = env pkgsHost // {

Loading…
Cancel
Save