servicepoint_binding_c 0.15.0

C bindings for the servicepoint crate.
Documentation
{
  pkgs,
  fenix,
  selfPkgs,
  ...
}:
let
  common = {
    RUST_BACKTRACE = 1;
    RUST_LOG = "all";
    packages = with pkgs; [
      gdb
      nix-output-monitor
    ];
  };
in rec {
  nightly = pkgs.mkShell ( common // {
    inputsFrom = [
      selfPkgs.servicepoint-binding-c-nightly-release
    ];
    packages = with pkgs; [
        cargo-expand
        cargo-tarpaulin
        nix-output-monitor
        gcc
        gnumake
        rustfmt
        xe
        libgcc
        libunwind
        pkgsStatic.gcc
        pkgsStatic.libgcc
        pkgsStatic.musl
        rust-cbindgen
      ];
  });
  stable = pkgs.mkShell (common // {
    inputsFrom = [
      selfPkgs.servicepoint-binding-c
      selfPkgs.announce
    ];
    packages = with pkgs; [
        (pkgs.symlinkJoin {
          name = "rust-toolchain";
          paths = with pkgs; [
            rustc
            cargo
            rustPlatform.rustcSrc
            rustPlatform.rustLibSrc
            rustfmt
            clippy
            cargo-expand
            cargo-tarpaulin
          ];
        })
        cargo-expand
        cargo-tarpaulin
        gcc
        gnumake
        xe
        libgcc
        libunwind
        pkgsStatic.gcc
        pkgsStatic.libgcc
        pkgsStatic.musl
      ];

    RUST_SRC_PATH = "${pkgs.rustPlatform.rustLibSrc}";
  });
  default = stable;
}