simavr-ffi 1.2.1

Low-level bindings to simavr
Documentation
{
  inputs = {
    flake-utils = {
      url = "github:numtide/flake-utils";
    };

    nixpkgs = {
      url = "github:nixos/nixpkgs/nixos-unstable";
    };
  };

  outputs =
    {
      self,
      flake-utils,
      nixpkgs,
    }:
    flake-utils.lib.eachDefaultSystem (
      system:
      let
        pkgs = import nixpkgs {
          inherit system;
        };

      in
      {
        devShell = pkgs.mkShell {
          shellHook =
            if system == "aarch64-darwin" then
              ''
                export NIX_CFLAGS_COMPILE="-isystem ${pkgs.libelf}/include"
                export NIX_CFLAGS_COMPILE_FOR_TARGET=""
              ''
            else
              "";

          buildInputs = with pkgs; [
            libelf
            llvmPackages.clang
            pkg-config
            zlib
            zstd
          ];

          LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib";
        };
      }
    );
}