From af874a58c3256ac1032c4750546e1c85d346c8f5 Mon Sep 17 00:00:00 2001 From: Saladin Date: Mon, 26 May 2025 21:02:48 +0530 Subject: [PATCH 1/2] Added explicit dependencies for Arch Linux (#10386) As I run bevy in a apx container, the default dependencies are bare minimum.. because of which I was able to find the explicit dependencies required for bevy. :+1: the same shall also be applicable for the other distributions but I will have to figure out explicit ones for them and might open a PR for them later. # Objective - Have explicit dependencies listed for a bare minimum system / container ## Solution - Running bevy in a bare minimum apx / distrobox container. --- ## Changelog - Added explicit dependency instructions for Arch Linux Co-authored-by: SHuRiKeN <40650341+shuriken1812@users.noreply.github.com> Co-authored-by: Alice Cecile --- docs/linux_dependencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/linux_dependencies.md b/docs/linux_dependencies.md index 53ad5257e8..a09bd629ff 100644 --- a/docs/linux_dependencies.md +++ b/docs/linux_dependencies.md @@ -94,7 +94,7 @@ export PKG_CONFIG_PATH="/usr/lib/x86_64-linux-gnu/pkgconfig/" ## Arch / Manjaro ```bash -sudo pacman -S libx11 pkgconf alsa-lib +sudo pacman -S libx11 pkgconf alsa-lib libxcursor libxrandr libxi ``` Install `pipewire-alsa` or `pulseaudio-alsa` depending on the sound server you are using. From 93b8f9a3039690a42347955ecd2eeb4b4285a077 Mon Sep 17 00:00:00 2001 From: Jakob Hellermann Date: Mon, 26 May 2025 17:33:05 +0200 Subject: [PATCH 2/2] bevy_ecs: forward `type_id` in `InfallibleSystemWrapper` (#18931) similar to https://github.com/bevyengine/bevy/pull/12030 # Objective `bevy_mod_debugdump` uses the `SystemTypeSet::system_type` to look up constrains like `(system_1, system_2.after(system_1))`. For that it needs to find the type id in `schedule.graph().systems()` Now with systems being wrapped in an `InfallibleSystemWrapper` this association was no longer possible. ## Solution By forwarding the type id in `InfallibleSystemWrapper`, `bevy_mod_debugdump` can resolve the dependencies as before, and the wrapper is an unnoticable implementation detail. ## Testing - `cargo test -p bevy_ecs` I'm not sure what exactly could break otherwise. --- crates/bevy_ecs/src/system/schedule_system.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/crates/bevy_ecs/src/system/schedule_system.rs b/crates/bevy_ecs/src/system/schedule_system.rs index 8ef7d9ed57..4c02a092de 100644 --- a/crates/bevy_ecs/src/system/schedule_system.rs +++ b/crates/bevy_ecs/src/system/schedule_system.rs @@ -30,6 +30,10 @@ impl> System for InfallibleSystemWrapper { self.0.name() } + fn type_id(&self) -> core::any::TypeId { + self.0.type_id() + } + #[inline] fn component_access(&self) -> &Access { self.0.component_access()