seqtable 0.2.0

High-performance FASTQ sequence counter
Documentation
{inputs, ...}: {
  perSystem = {
    self',
    pkgs,
    lib,
    ...
  }: let
    rustToolchain = pkgs.rust-bin.stable.latest.default;
    craneLib = (inputs.crane.mkLib pkgs).overrideToolchain rustToolchain;

    src = craneLib.cleanCargoSource ../.;

    commonArgs = {
      inherit src;
      pname = "seqtable";
      version = "0.2.0";
      nativeBuildInputs = with pkgs; [pkg-config cmake];
    };

    # Build only dependencies (cached separately)
    cargoArtifacts = craneLib.buildDepsOnly commonArgs;
  in {
    packages = {
      seqtable = craneLib.buildPackage (commonArgs
        // {
          inherit cargoArtifacts;
          doCheck = pkgs.stdenv.buildPlatform.canExecute pkgs.stdenv.hostPlatform;
          meta = with lib; {
            description = "High-performance parallel FASTQ sequence counter";
            license = licenses.mit;
            platforms = platforms.linux ++ platforms.darwin;
            mainProgram = "seqtable";
          };
        });

      default = self'.packages.seqtable;
    };

    checks = {
      clippy = craneLib.cargoClippy (commonArgs
        // {
          inherit cargoArtifacts;
          cargoClippyExtraArgs = "--all-targets --all-features -- -D warnings";
        });
    };
  };
}