diff --git a/pkgs/by-name/fl/flawz/package.nix b/pkgs/by-name/fl/flawz/package.nix index fb40c65dc218..317005c1414f 100644 --- a/pkgs/by-name/fl/flawz/package.nix +++ b/pkgs/by-name/fl/flawz/package.nix @@ -1,11 +1,13 @@ -{ lib -, fetchFromGitHub -, rustPlatform -, pkg-config -, openssl -, sqlite -, installShellFiles -, stdenv +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, + sqlite, + installShellFiles, + stdenv, + buildPackages, }: rustPlatform.buildRustPackage rec { @@ -21,34 +23,54 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-kMiKlZj+G1vfjaEiB3rtPoJl0K3W9xRVwgVz8q2pn1s="; - nativeBuildInputs = [ pkg-config installShellFiles ]; + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; - buildInputs = [ openssl sqlite ]; - outputs = [ "out" "man" ]; + buildInputs = [ + openssl + sqlite + ]; + outputs = [ + "out" + "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"; homepage = "https://github.com/orhun/flawz"; changelog = "https://github.com/orhun/flawz/releases/tag/v${version}"; - license = with lib.licenses; [ mit asl20 ]; + license = with lib.licenses; [ + mit + asl20 + ]; mainProgram = "flawz"; maintainers = with lib.maintainers; [ anas ]; platforms = with lib.platforms; unix ++ windows;