{ lib, stdenv, buildPythonPackage, cargo, fetchFromGitHub, libiconv, rustPlatform, rustc, setuptools-rust, range-typed-integers, }: buildPythonPackage rec { pname = "skytemple-rust"; version = "1.8.5"; pyproject = true; src = fetchFromGitHub { owner = "SkyTemple"; repo = "skytemple-rust"; rev = version; hash = "sha256-yJ78P00h4SITVuDnIh5IIlWkoed/VtIw3NB8ETB95bk="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; hash = "sha256-9OgUuuMuo2l4YsZMhBZJBqKqbNwj1W4yidoogjcNgm8="; }; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; nativeBuildInputs = [ setuptools-rust rustPlatform.cargoSetupHook cargo rustc ]; propagatedBuildInputs = [ range-typed-integers ]; GETTEXT_SYSTEM = true; doCheck = false; # tests for this package are in skytemple-files package pythonImportsCheck = [ "skytemple_rust" ]; meta = with lib; { homepage = "https://github.com/SkyTemple/skytemple-rust"; description = "Binary Rust extensions for SkyTemple"; license = licenses.mit; maintainers = with maintainers; [ marius851000 ]; }; }