{ rustPlatform, fetchgit, stdenv, cairo, geos, clipper, clang, pkg-config, cmake
, openssl, llvmPackages, ... }:

rustPlatform.buildRustPackage {

  pname = "polygon-art";

  version = "1.0.0";

  # nix-prefetch-git-rendered --rev refs/heads/develop https://git.ingolf-wagner.de/palo/polygon-art.git
  src = fetchgit {
    url = "https://git.ingolf-wagner.de/palo/polygon-art.git";
    rev = "dfb6e0789ec67ee649050ad3b16d8b6a6b38955d";
    sha256 = "0iqmikvl93pazxfd120hcr0waxav7zy6px5kmdqxifrjgdbda9xx";
  };

  #cargoSha256 = "05rkn8iihj4j9k179xx7wn2a07hxks050raj6fbxmj6gdx6aj170";
  cargoSha256 = "0sgk4hw77cxqbqzd258fz67r7fpjblkm7cqh14n5f1c43y8vgxa0";
  verifyCargoDeps = true;

  # Needed so bindgen can find libclang.so
  LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";

  buildInputs = [ cairo geos clipper openssl ];

  nativeBuildInputs =
    [ cmake llvmPackages.clang llvmPackages.libclang pkg-config ];

  meta = with stdenv.lib; {
    description = "Framework with examples to generate plotter friendly SVGs";
    homepage = "https://git.ingolf-wagner.de/palo/polygon-art.git";
    license = licenses.gpl3Plus;
    maintainers = [ maintainers.mrVanDalo ];
  };
}