nixos-config/packages/tools/games/gamescope/default.nix

61 lines
1.8 KiB
Nix
Raw Normal View History

2022-05-30 12:52:56 +00:00
{ lib, stdenv, fetchFromGitHub, meson, pkgconfig, libdrm, xorg
, wayland, wayland-protocols, libxkbcommon, libcap
, SDL2, mesa, libinput, pixman, xcbutilerrors, xcbutilwm, glslang
, ninja, makeWrapper, xwayland, libuuid, xcbutilrenderutil
, pipewire, stb, writeText, wlroots, vulkan-loader, vulkan-headers }:
let
stbpc = writeText "stbpc" ''
prefix=${stb}
includedir=''${prefix}/include/stb
Cflags: -I''${includedir}
Name: stb
Version: ${stb.version}
Description: stb
'';
stb_ = stb.overrideAttrs (oldAttrs: rec {
installPhase = ''
${oldAttrs.installPhase}
install -Dm644 ${stbpc} $out/lib/pkgconfig/stb.pc
'';
});
in stdenv.mkDerivation rec {
pname = "gamescope";
version = "3.9.1";
src = fetchFromGitHub {
owner = "Plagman";
repo = "gamescope";
rev = version;
sha256 = "05a1sj1fl9wpb9jys515m96958cxmgim8i7zc5mn44rjijkfbfcb";
fetchSubmodules = true;
};
preConfigure = ''
substituteInPlace meson.build \
--replace "'examples=false'" "'examples=false', 'logind-provider=systemd', 'libseat=disabled'"
'';
postInstall = ''
wrapProgram $out/bin/gamescope \
--prefix PATH : "${lib.makeBinPath [ xwayland ]}"
'';
buildInputs = with xorg; [
libX11 libXdamage libXcomposite libXrender libXext libXxf86vm
libXtst libdrm vulkan-loader wayland wayland-protocols
libxkbcommon libcap SDL2 mesa libinput pixman xcbutilerrors
xcbutilwm libXi libXres libuuid xcbutilrenderutil xwayland
pipewire wlroots
];
nativeBuildInputs = [ meson pkgconfig glslang ninja makeWrapper stb_ ];
meta = with lib; {
description = "The micro-compositor formerly known as steamcompmgr";
license = licenses.bsd2;
homepage = src.meta.homepage;
platforms = platforms.linux;
maintainers = with maintainers; [ ];
};
}