about summary refs log tree commit diff
path: root/pkgs/by-name/fl/flawz/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/fl/flawz/package.nix')
-rw-r--r--pkgs/by-name/fl/flawz/package.nix82
1 files changed, 52 insertions, 30 deletions
diff --git a/pkgs/by-name/fl/flawz/package.nix b/pkgs/by-name/fl/flawz/package.nix
index d149b4108624..db579a6b0f76 100644
--- a/pkgs/by-name/fl/flawz/package.nix
+++ b/pkgs/by-name/fl/flawz/package.nix
@@ -1,57 +1,79 @@
-{ lib
-, fetchFromGitHub
-, rustPlatform
-, pkg-config
-, openssl
-, sqlite
-, installShellFiles
-, stdenv
+{
+  lib,
+  fetchFromGitHub,
+  rustPlatform,
+  pkg-config,
+  openssl,
+  sqlite,
+  installShellFiles,
+  stdenv,
+  buildPackages,
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "flawz";
-  version = "0.2.2";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "orhun";
     repo = "flawz";
     rev = "v${version}";
-    hash = "sha256-/gNHi7ZENy0cgnEgDBW82ACUUsuMLYD9eUrSxwO9k1U=";
+    hash = "sha256-7p/BUXrElJutUcRMu+LxdsMxA6lCDnaci0fDaKGsawI=";
   };
 
-  cargoHash = "sha256-kMiKlZj+G1vfjaEiB3rtPoJl0K3W9xRVwgVz8q2pn1s=";
+  cargoHash = "sha256-jVAMnU2NnL/2Hri6NxSUkIfQ/bJ5wMZ+oFOTMPrFE0M=";
 
-  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;
-    broken = stdenv.isDarwin; # needing some apple_sdk packages
+    broken = stdenv.hostPlatform.isDarwin; # needing some apple_sdk packages
   };
 }