From 96c7d09ed7700a08bd86ea0c4b1e058fa181b4be Mon Sep 17 00:00:00 2001 From: Sergei Zimmerman <145775305+xokdvium@users.noreply.github.com> Date: Fri, 25 Oct 2024 13:49:54 +0300 Subject: [PATCH] flawz: fix cross-compilation Use emulation to build man pages and completions when available. --- pkgs/by-name/fl/flawz/package.nix | 37 +++++++++++++++++++------------ 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/pkgs/by-name/fl/flawz/package.nix b/pkgs/by-name/fl/flawz/package.nix index 4a2e56673f96..317005c1414f 100644 --- a/pkgs/by-name/fl/flawz/package.nix +++ b/pkgs/by-name/fl/flawz/package.nix @@ -7,6 +7,7 @@ sqlite, installShellFiles, stdenv, + buildPackages, }: rustPlatform.buildRustPackage rec { @@ -36,23 +37,31 @@ rustPlatform.buildRustPackage rec { "man" ]; - postInstall = '' - export OUT_DIR=$(mktemp -d) + postInstall = + let + emulator = stdenv.hostPlatform.emulator buildPackages; + flawz-mangen = "${emulator} $out/bin/flawz-mangen"; + flawz-completions = "${emulator} $out/bin/flawz-completions"; + in + lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) '' + export OUT_DIR=$(mktemp -d) - # Generate the man pages - cargo run --bin flawz-mangen - installManPage $OUT_DIR/flawz.1 + # Generate the man pages + ${flawz-mangen} + installManPage $OUT_DIR/flawz.1 - # Generate shell completions - cargo run --bin flawz-completions - installShellCompletion \ - --bash $OUT_DIR/flawz.bash \ - --fish $OUT_DIR/flawz.fish \ - --zsh $OUT_DIR/_flawz + # Generate shell completions + ${flawz-completions} + installShellCompletion \ + --bash $OUT_DIR/flawz.bash \ + --fish $OUT_DIR/flawz.fish \ + --zsh $OUT_DIR/_flawz - # Clean up temporary directory - rm -rf $OUT_DIR - ''; + # Clean up temporary directory + rm -rf $OUT_DIR + # No need for these binaries to end up in the output + rm $out/bin/flawz-{completions,mangen} + ''; meta = { description = "Terminal UI for browsing CVEs";