Skip to content

Commit

Permalink
examples: also use callPackage for flake
Browse files Browse the repository at this point in the history
This avoids manual package spliting and should be more user-friendly.
  • Loading branch information
oxalica committed Sep 15, 2024
1 parent 380ee34 commit ff13821
Showing 1 changed file with 34 additions and 18 deletions.
52 changes: 34 additions & 18 deletions examples/cross-aarch64/flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,40 @@
rust-overlay.inputs.nixpkgs.follows = "nixpkgs";
};

outputs = { self, rust-overlay, nixpkgs }: {
devShells.x86_64-linux.default = let
pkgs = nixpkgs.legacyPackages.x86_64-linux.pkgsCross.aarch64-multiplatform;
rust-bin = rust-overlay.lib.mkRustBin { } pkgs.buildPackages;
in
pkgs.mkShell {
nativeBuildInputs = [
rust-bin.stable.latest.minimal
pkgs.buildPackages.pkg-config
];
outputs =
{
self,
rust-overlay,
nixpkgs,
}:
{
devShells.x86_64-linux.default =
let
pkgsCross = nixpkgs.legacyPackages.x86_64-linux.pkgsCross.aarch64-multiplatform;
rust-bin = rust-overlay.lib.mkRustBin { } pkgsCross.buildPackages;
in
pkgsCross.callPackage (
{
mkShell,
pkg-config,
qemu,
openssl,
stdenv,
}:
mkShell {
nativeBuildInputs = [
rust-bin.stable.latest.minimal
pkg-config
];

depsBuildBuild = [ pkgs.pkgsBuildBuild.qemu ];
buildInputs = [ pkgs.openssl ];
depsBuildBuild = [ qemu ];
buildInputs = [ openssl ];

env = {
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER = "${pkgs.stdenv.cc.targetPrefix}cc";
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER = "qemu-aarch64";
};
};
};
env = {
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER = "${stdenv.cc.targetPrefix}cc";
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER = "qemu-aarch64";
};
}
) { };
};
}

0 comments on commit ff13821

Please sign in to comment.