Unverified Commit 7387d444 authored by Rick van Schijndel's avatar Rick van Schijndel Committed by GitHub
Browse files

flawz: fix cross-compilation (#351144)

parents 8aebe28d 96c7d09e
Loading
Loading
Loading
Loading
+48 −26
Original line number Diff line number Diff line
{ lib
, fetchFromGitHub
, rustPlatform
, pkg-config
, openssl
, sqlite
, installShellFiles
, stdenv
{
  lib,
  fetchFromGitHub,
  rustPlatform,
  pkg-config,
  openssl,
  sqlite,
  installShellFiles,
  stdenv,
  buildPackages,
}:

rustPlatform.buildRustPackage rec {
@@ -21,20 +23,35 @@ 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 = ''
  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
      ${flawz-mangen}
      installManPage $OUT_DIR/flawz.1

      # Generate shell completions
    cargo run --bin flawz-completions
      ${flawz-completions}
      installShellCompletion \
        --bash $OUT_DIR/flawz.bash \
        --fish $OUT_DIR/flawz.fish \
@@ -42,13 +59,18 @@ rustPlatform.buildRustPackage rec {

      # 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;