{ lib, fetchFromGitHub, rustPlatform, nix-update-script, }: rustPlatform.buildRustPackage rec { pname = "stardust-xr-protostar"; version = "0-unstable-2024-07-19"; src = fetchFromGitHub { owner = "stardustxr"; repo = "protostar"; rev = "39499a061af74c3a2d5e1e46e4ad21aca5727219"; hash = "sha256-TPpkjTOZVtyVZdK65C951DpEzfI9aaRMXclZ31dAk9s="; }; env.STARDUST_RES_PREFIXES = "${src}/res"; cargoLock = { lockFile = ./Cargo.lock; outputHashes = { "stardust-xr-0.45.0" = "sha256-WF/uNtFYB+ZQqsyXJe7qUCd8SHUgaNOLMxGuNIN1iKM="; "stardust-xr-molecules-0.45.0" = "sha256-NncLa5ApFtlxy/BF08vy4mw2zor02VsGPaVI4arMaqM="; }; }; checkFlags = [ # ---- xdg::test_get_desktop_files stdout ---- # thread 'xdg::test_get_desktop_files' panicked at protostar/src/xdg.rs:98:5: # assertion failed: desktop_files.iter().any(|file| # file.ends_with("com.belmoussaoui.ashpd.demo.desktop")) "--skip=xdg::test_get_desktop_files" # ---- xdg::test_get_icon_path stdout ---- # thread 'xdg::test_get_icon_path' panicked at protostar/src/xdg.rs:355:38: # Could not create image cache directory: Os { code: 13, kind: PermissionDenied, message: "Permission denied" } # note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace "--skip=xdg::test_get_icon_path" # ---- xdg::test_render_svg_to_png stdout ---- # thread 'xdg::test_render_svg_to_png' panicked at protostar/src/xdg.rs:355:38: # Could not create image cache directory: Os { code: 13, kind: PermissionDenied, message: "Permission denied" } "--skip=xdg::test_render_svg_to_png" ]; passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; }; meta = { description = "Prototype application launchers for Stardust XR"; homepage = "https://stardustxr.org"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ pandapip1 technobaboo ]; platforms = lib.platforms.linux; }; }