diff --git a/pkgs/by-name/wl/wlx-overlay-s/package.nix b/pkgs/by-name/wl/wlx-overlay-s/package.nix index a6a77dd7a82a..597225f104b6 100644 --- a/pkgs/by-name/wl/wlx-overlay-s/package.nix +++ b/pkgs/by-name/wl/wlx-overlay-s/package.nix @@ -22,6 +22,8 @@ testers, wayland, wlx-overlay-s, + # openvr support is broken on aarch64-linux + withOpenVr ? !stdenv.hostPlatform.isAarch64, }: rustPlatform.buildRustPackage rec { @@ -37,6 +39,17 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-em5sWSty2/pZp2jTwBnLUIBgPOcoMpwELwj984XYf+k="; + # explicitly only add openvr if withOpenVr is set to true. + buildNoDefaultFeatures = true; + buildFeatures = [ + "openxr" + "osc" + "x11" + "wayland" + "wayvr" + ] + ++ lib.optional withOpenVr "openvr"; + nativeBuildInputs = [ makeWrapper pkg-config @@ -52,11 +65,11 @@ rustPlatform.buildRustPackage rec { libXext libXrandr libxkbcommon - openvr openxr-loader pipewire wayland - ]; + ] + ++ lib.optional withOpenVr openvr; env.SHADERC_LIB_DIR = "${lib.getLib shaderc}/lib"; @@ -79,7 +92,7 @@ rustPlatform.buildRustPackage rec { license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ Scrumplex ]; platforms = lib.platforms.linux; - broken = stdenv.hostPlatform.isAarch64; + broken = stdenv.hostPlatform.isAarch64 && withOpenVr; mainProgram = "wlx-overlay-s"; }; }