diff options
Diffstat (limited to 'pkgs/by-name/wl/wlx-overlay-s/package.nix')
-rw-r--r-- | pkgs/by-name/wl/wlx-overlay-s/package.nix | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/pkgs/by-name/wl/wlx-overlay-s/package.nix b/pkgs/by-name/wl/wlx-overlay-s/package.nix new file mode 100644 index 0000000000000..698404a514f5f --- /dev/null +++ b/pkgs/by-name/wl/wlx-overlay-s/package.nix @@ -0,0 +1,83 @@ +{ lib +, stdenv +, rustPlatform +, fetchFromGitHub +, alsa-lib +, dbus +, fontconfig +, libxkbcommon +, makeWrapper +, openvr +, openxr-loader +, pipewire +, pkg-config +, pulseaudio +, shaderc +, wayland +, xorg +}: + +rustPlatform.buildRustPackage rec { + pname = "wlx-overlay-s"; + version = "0.3.2"; + + src = fetchFromGitHub { + owner = "galister"; + repo = "wlx-overlay-s"; + rev = "v${version}"; + hash = "sha256-5uvdLBUnc8ba6b/dJNWsuqjnbbidaCcqgvSafFEXaMU="; + }; + + cargoLock = { + lockFile = ./Cargo.lock; + outputHashes = { + "ovr_overlay-0.0.0" = "sha256-b2sGzBOB2aNNJ0dsDBjgV2jH3ROO/Cdu8AIHPSXMCPg="; + "vulkano-0.34.0" = "sha256-0ZIxU2oItT35IFnS0YTVNmM775x21gXOvaahg/B9sj8="; + "wlx-capture-0.3.1" = "sha256-kK3OQMdIqCLZlgZuevNtfMDmpR8J2DFFD8jRHHWAvSA="; + }; + }; + + nativeBuildInputs = [ + makeWrapper + pkg-config + rustPlatform.bindgenHook + ]; + + buildInputs = [ + alsa-lib + dbus + fontconfig + libxkbcommon + openvr + openxr-loader + pipewire + xorg.libX11 + xorg.libXext + xorg.libXrandr + ]; + + env.SHADERC_LIB_DIR = "${lib.getLib shaderc}/lib"; + + postPatch = '' + substituteAllInPlace src/res/watch.yaml \ + --replace '"pactl"' '"${lib.getExe' pulseaudio "pactl"}"' + + # TODO: src/res/keyboard.yaml references 'whisper_stt' + ''; + + postInstall = '' + patchelf $out/bin/wlx-overlay-s \ + --add-needed ${lib.getLib wayland}/lib/libwayland-client.so.0 \ + --add-needed ${lib.getLib libxkbcommon}/lib/libxkbcommon.so.0 + ''; + + meta = with lib; { + description = "Wayland/X11 desktop overlay for SteamVR and OpenXR, Vulkan edition"; + homepage = "https://github.com/galister/wlx-overlay-s"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ Scrumplex ]; + platforms = platforms.linux; + broken = stdenv.isAarch64; + mainProgram = "wlx-overlay-s"; + }; +} |