porcelain 0.3.2

cli dollcode encoder and decoder
{
  lib,
  rustPlatform,
}:
let
  p = (lib.importTOML ./Cargo.toml).package;
in
rustPlatform.buildRustPackage {
  pname = p.name;
  inherit (p) version;

  src = lib.fileset.toSource {
    root = ./.;
    fileset = lib.fileset.intersection (lib.fileset.fromSource (lib.sources.cleanSource ./.)) (
      lib.fileset.unions [
        ./Cargo.toml
        ./Cargo.lock
        ./src
        ./lib-porcelain
      ]
    );
  };

  cargoLock.lockFile = ./Cargo.lock;

  meta = {
    inherit (p) description homepage;
    license = lib.licenses.mit;
    maintainers = [ lib.maintainers.da157 ];
    mainProgram = "porcelain";
  };
}