wlx-overlay-s: make openvr support optional, disable on aarch64-linux
wlx-overlay-s uses https://github.com/galister/ovr_overlay_oyasumi/pull/2, which pulls in a version of ovr_overlay_sys with a build.rs file that doesn't build on aarch64-linux. https://github.com/galister/ovr_overlay_oyasumi is a fork of https://github.com/Raphiiko/ovr_overlay_oyasumi, which is a fork of https://github.com/TheButlah/ovr_overlay, with the latter not updated in two years. Luckily openvr is kinda discouraged, and openxr is the new kid on the block, and openvr support can be feature-flagged out. So let's do this, by adding a withOpenVr option to the derivation, that defaults to false on aarch64-linux, unbreaking it there. We still keep openvr support for x86_64-linux enabled, to not regress experience for people already using openvr on x86_64-linux.
This commit is contained in:
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user