1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 rustPlatform, 6 7 # build-system 8 meson, 9 setuptools, 10 setuptools-rust, 11 12 # buildInputs 13 SDL2, 14 alsa-lib, 15 glib, 16 libpcap, 17 soundtouch, 18 zlib, 19 20 # nativeBuildInputs 21 cargo, 22 ninja, 23 openal, 24 pkg-config, 25 rustc, 26 27 # dependencies 28 range-typed-integers, 29}: 30buildPythonPackage rec { 31 pname = "skytemple-ssb-emulator"; 32 version = "1.8.2"; 33 pyproject = true; 34 35 src = fetchFromGitHub { 36 owner = "SkyTemple"; 37 repo = "skytemple-ssb-emulator"; 38 tag = version; 39 hash = "sha256-zmLEvE96gkElTggcRG9fZDrJPLOXeNuSk49zXQAB69Y="; 40 }; 41 42 cargoDeps = rustPlatform.fetchCargoVendor { 43 inherit src pname; 44 hash = "sha256-MSPqQmC70pq+sEM8zJrrFiz32dorOJxr2G/y2H4EUQI="; 45 }; 46 47 build-system = [ 48 meson 49 setuptools 50 setuptools-rust 51 ]; 52 53 buildInputs = [ 54 SDL2 55 alsa-lib 56 glib 57 libpcap 58 soundtouch 59 zlib 60 ]; 61 62 nativeBuildInputs = [ 63 cargo 64 ninja 65 openal 66 pkg-config 67 rustPlatform.cargoSetupHook 68 rustc 69 ]; 70 71 dependencies = [ range-typed-integers ]; 72 73 hardeningDisable = [ "format" ]; 74 75 doCheck = false; # there are no tests 76 pythonImportsCheck = [ "skytemple_ssb_emulator" ]; 77 78 meta = { 79 description = "SkyTemple Script Engine Debugger Emulator Backend"; 80 homepage = "https://github.com/SkyTemple/skytemple-ssb-emulator"; 81 license = lib.licenses.gpl3Plus; 82 maintainers = with lib.maintainers; [ marius851000 ]; 83 }; 84}